2017-04-23 47 views
0

我正在一個項目中工作所需的Facebook登錄使用asp.net核心以下這tutorialAsp.net核心使用Facebook外部登錄時不正確的redirect_url

一切似乎都很好,然後我將它部署到我的Ubuntu VPS。由於kestrel服務器不是一個完整的web服務器,所以我設置Haproxy在https(443)上監聽端口1080(http)的哪條路由到asp.net核心應用。當我去我的網站,並點擊Facebook登錄按鈕,我會得到一個錯誤信息形式的Facebook:

URL阻止:此重定向失敗,因爲重定向URI沒有在應用程序的客戶端的OAuth設置白名單。確保客戶端和Web OAuth登錄已打開,並將所有應用程序域添加爲有效的OAuth重定向URI。

我得到這個錯誤消息,因爲參數REDIRECT_URI是HTTP://,而不是HTTPS其預計從Facebook應用程序的配置。

任何想法如何解決它?

回答

0

好的。我想到了。首先,我們需要安裝這個包Microsoft.AspNetCore.HttpOverrides。 然後把這段代碼文件Startup.cs

app.UseForwardedHeaders(new ForwardedHeadersOptions 
     { 
      ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto 
     }); 
app.UseHttpMethodOverride(); 

前行

app.UseFacebookAuthentication(...) 

你可以找到更多here

+0

只有當您不使用'app.UseIISIntegration()'時才需要它,因爲它已經隱式註冊了轉發頭文件 – Tseng

+0

@Tseng My Program.cs確實有'host.UseIISIntegration()'。你把那行代碼放在哪裏? – chikien276

相關問題