1

私はAzureのアプリケーションサービスで認証して働いているの背後にあるAzureのアプリケーションサービスの認証に、私はそれはAzureの名前だ使用して私の紺碧のウェブサイトを閲覧する場合はAKA「簡易認証」 https://docs.microsoft.com/en-us/azure/app-service/app-service-authentication-overviewリバースプロキシ

は、それが正常に動作します: [myid] .azurewebsites.net 私のウェブサイトをリバースプロキシの背後に置くと、認証後にwww。[mydomain] .comの代わりに[myid] .azurewebsites.netにリダイレクトされます。リバースプロキシは、自分のページを提供するように正しく設定されており、認証なしで正常に動作します。

「簡単な認証」によってredirect_uriパラメータがどのように構築されるのかという根本的な原因が考えられます。 Chrome F12を使用して、認証サービスへの最初のリダイレクト中にブラウザのURLがwww。[mydomain] .comの代わりに[myid] .azurewebsites.netを使用して構築されていることに気づきました。

https://login.windows.net/034...51/oauth2/authorize?response_type=id_token&redirect_uri=https%3A%2F%2Fmyid.azurewebsites.net%2F.auth%2Flogin%2Faad%2Fcallback& ......

私は。[MYDOMAIN] .COM

任意の提案やアイデアWWWを使用するには、 "簡単に認証を" 強制/指示する方法を見つけることができませんか?

---更新---
私はリバースプロキシとしてNginxを使用します。設定ファイルの適切な部分(編集済み):

server { 
     server_name www.mydomain.com; 
     listen 80; 
     listen 443 ssl; 
     ... 
     location/{ 
       proxy_set_header X-Real-IP $remote_addr; 
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
       proxy_set_header X-Real-Host $host; 
       proxy_pass https://myid.azurewebsites.net/; 
     } 
} 
+0

どのようにリバースプロキシURLリライトを実装しましたか?あなたの質問を更新し、詳細を提供してください。 –

+0

@BruceChen質問が更新されました。リバースプロキシ自体は正常に動作します。おそらく、追加のヘッダーは、「Easy Auth」が逆プロキシがあることを理解するのに役立つかもしれませんが、それに関するドキュメントは見つかりませんでした。 –

答えて

0

認証が成功した後にプロセスをリダイレクトする場所を指定するには、追加のパラメータを指定する必要があります。 'post_login_redirect_uri'パラメータでこれを行うことができます。これがなければ、プロセスはデフォルトの「認証成功」ページにリダイレクトされ、サイトに戻るためのリンクが表示されます。

詳細については、https://weblogs.asp.net/pglavich/easy-auth-app-service-authentication-using-multiple-providersを参照してください。

+0

post_login_redirect_uriは私の問題を解決しません。これは、認証に成功した後、ユーザーをターゲットページにリダイレクトするために使用されます。私が必要とするのは、myid.azurewebsites.netの代わりにwww.mydomain.comを最初の認証URL(login.windows.net/.....)に "注入"する方法です。 –

0

あなたの説明によると、私はこの問題をテストするために逆プロキシとしてURL RewriteAzure Functions Proxiesを使用しましたが、私はあなたが言及したのと同じ問題に遭遇する可能性があることを発見しました。私はまた、逆プロキシ経由でのアクセスと直接アクセスの間でHeadersServerVariablesを比較しようとしましたが、関連するヘッダーをオーバーライドしてこの問題を絞り込もうとしましたが、最後は失敗しました。私は、ビルドインのApp Service Authentication/Authorizationを使用しているので、redirect_uriパラメータの生成を無効にすることはできませんでした。

リバースプロキシの下に追加のヘッダーを設定し、redirect_uriを生成するための追加ヘッダーを取得し、ユーザーを関連する承認エンドポイントにリダイレクトするようにアプリケーションで認証/承認を構築することができます。または、Load BalancerにTraffic Managerを使用すると、これに続いてissueとすることができます。また、晴れたウェブアプリドメインをカスタマイズしたい場合は、hereに従うことができます。

+0

あなたは正しいです。現在、 "EasyAuth"はカスタムredirect_uriを注入することを許可していません。 https:// twitter。com/fhtino/status/943143332418596864 :( –

+0

[Traffic Manager](https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-manager-overview)を活用することをお勧めします。 [Traffic Manager価格設定](https://azure.microsoft.com/en-us/pricing/details/traffic-manager/)に従うことができます。また、[Traffic Managerでドメインをマップする]( https://docs.microsoft.com/en-us/azure/app-service/web-sites-traffic-manager-custom-domain-name)。 –

関連する問題