2017-06-28 3 views
0

ほとんどこの機能があります。ほぼ。NGINXプロキシの背後から.NETコアを使用してAzure B2Cに接続する

私はAzure B2Cテナントを設定しており、テナント情報を反映するように変更したexample codeを変更しました。これはすべてlocalhost uriを使ってローカルでうまく動作します。

リモートセットアップはUbuntu 16.01サーバーで、Nginx 1.10.0 Webサーバーは.NET Core 1.0.4のリバースプロキシとして機能し、すべてがLetsEncrypt SSL証明書を使用します。

プロキシは.NETプロジェクトをうまく処理しますが、私がサインインすると、間違ったredirect_urlでB2Cログインに切り替わります。

私は値が "https.subhost.suffix/signin-oidc"という設定ファイルに反映されていると思いますが、代わりに "http.subhost.suffix、sub.host。接尾辞/ signin-oidc "

アイデアやご意見はありがとうございます!

+0

サンプルに問題があります。コールバックパスを配線していません。私はこれがあなたの問題に関連しているか、それを修正するか100%確信しているわけではありませんが、試してみる価値があります。 https://github.com/Azure-Samples/active-directory-b2c-dotnetcore-webapp/issues/28 – Saca

答えて

0

NGINXがSSL/TLSをオフロードしてから.NETコアアプリケーションを呼び出す場合は、おそらく開いているHTTP(ポート80)を使用していることを確認します。

HTTPSをすべて保証するか、HTTPエンドポイントが呼び出された場合にHTTPS方式がトリガーされるよう通知する必要があります。

.NETコアアプリケーションがHTTPエンドポイント経由でリクエストを取得すると、それによって作成されたすべてのURIが同じスキームを維持します。したがって、リンク構築時にhttps://を強制する必要があります。

希望すると助かります!

+0

もう少し調査する必要がありますが、テナントからの戻りURIを戻して、スキームを実行しています。 OnRedirectToIdentityProviderの{RedirectContextObject} .ProtocolMessage.RedirectUriを変更するだけで問題が修正されます。長期的な解決策ではありませんが、概念実証には最適です。 リバースプロキシでうまくクッキーを再生できるようになりました。 –

関連する問題