更改facebookredirect_uriwebapi我想知道是否有人可以帮助我或指出正确的方向。我在我的webapi2项目中设置了facebook社交登录,它工作正常。但是,当我将其部署到生产环境时,我发现redirect_uri显示的是HTTP而不是HTTPS,这导致服务崩溃。我想知道的是redirect_uri最初是如何构建的,以及是否有任何方法可以更新它。发生这种情况的全部原因是因为我们的负载均衡器。该站点在HTTP协议下运行,但负载平衡器接受HTTPS流量并将其重定向到HTTP。不幸的是,我无法更新Loadbalancer,因此需要找到解决方法。我试图拦截ApplyRedirect方法中的IFacebookAuthenticationProvider,这成功地允许我将redirect_uri从HTTP更改为HTTPS。但是,当我这样做时,一旦我登录Facebook,我就会收到access_denied错误,并且不知道为什么会这样。有人可以帮助我实现这一目标吗?我可以将facebook设置的redirect_uri和cookie显式标记为HTTPS吗?这是我的Facebook提供程序类publicclassFacebookAuthProvider:IFFacebookAuthenticationProvider{publicvoidApplyRedirect(FacebookApplyRedirectContextcontext){stringredirect_uri=context.RedirectUri;redirect_uri=redirect_uri.Replace("redirect_uri=http","redirect_uri=https");语境。Response.Redirect(redirect_uri);}publicTaskAuthenticated(FacebookAuthenticatedContextcontext){context.Identity.AddClaim(newClaim("ExternalAccessToken",context.AccessToken));返回Task.FromResult(null);}publicTaskReturnEndpoint(FacebookReturnEndpointContext){returnTask.FromResult(null);最好的方法是在应用程序开始时更新请求方案。大概是这样的:以上是C#学习教程:改facebookredirect_uriwebapi分享的所有内容,如果对大家有用,需要详细了解C#学习教程,希望大家多加关注——app.Use((context,next)=>{context.Request.Scheme="https";returnnext();});本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
