我已将我的MVC5应用程序部署到服务器上(到目前为止在localhost上),现在Facebook身份验证不起作用,因为重定向URL仍设置为localhost。生成的链接以:
开头它如何生成redirect_uri?我需要指定我的新服务器地址,并认为通过更改项目的csproj文件中的IISUrl属性,但是当我这样做时,项目无法加载。
我已经将Facebook上的新网址列入白名单,我只是不知道如何告诉我的应用程序本身它已经重新定位(我猜测它已经生成了redirect_url参数的值基于我的应用程序中某处的值/设置。)
我使用的是Microsoft Owin软件包,生成按钮的代码是:
@foreach (AuthenticationDescription p in loginProviders)
{
<button type="submit" class="btn btn-default btn-block btn-social btn-@p.AuthenticationType.ToLower()" id="@p.AuthenticationType" name="provider" value="@p.AuthenticationType" title="Log in using your @p.Caption account">
@p.AuthenticationType
<i class="fa fa-@p.AuthenticationType.ToLower()"></i>
</button>
}
由于
答案 0 :(得分:1)
这是owin构建重定向uri的方式
string baseUri =
Request.Scheme +
Uri.SchemeDelimiter +
Request.Host +
Request.PathBase;
string redirectUri =
baseUri +
Options.CallbackPath;
其中Options.Callbackpath
默认为/signin-facebook
由于您的基本uri正在读取localhost,请确保您部署到的服务器未在localhost上运行,并且您正在使用正确的域名浏览它