2017-06-28 19 views
0

幾乎有這個工作。幾乎。連接到Azure B2C,使用來自NGINX代理之後的.NET Core

我的設置是我設置了一個Azure B2C租戶,並修改了一些我已更改以反映租戶信息的example code。這一切都適用於本地,與本地主機uri。

我的遠程設置是一個Ubuntu 16.01服務器,Nginx 1.10.0網絡服務器充當.NET Core 1.0.4的反向代理,並且都帶有LetsEncrypt SSL證書。

該代理服務於.NET項目很好,但是當我點擊登錄時,它會帶我到不正確的redirect_url的B2C登錄。

我希望這個值能反映設置文件「https.sub.host.suffix/signin-oidc」中的內容,而不是我得到「http.sub.host.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 Core應用程序,請檢查最有可能通過開放HTTP(端口80)進行檢查。

您或者需要確保HTTPS一路通暢,或者在HTTPS方案發出信號時通知HTTP端點被觸發。

由於.NET核心應用程序通過HTTP端點獲取請求,因此它創建的每個URI都將保留相同的方案。因此,您需要在鏈接建立時強制https://。

希望它有幫助!

+0

我需要做更多的調查,但它看起來像從租戶帶回返回URI並替換計劃與它正在運行的計劃。 只需更改OnRedirectToIdentityProvider中的{RedirectContextObject} .ProtocolMessage.RedirectUri即可解決問題。這不是一個長期的解決方案,但對於概念證明來說很好。 剛剛得到餅乾,現在與反向代理很好地玩。 –