2017-04-23 59 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

相关问题