如何更改MVC5 webapp中的Facebook重定向URL?

时间:2017-01-05 22:48:31

标签: facebook asp.net-mvc-5

我已将我的MVC5应用程序部署到服务器上(到目前为止在localhost上),现在Facebook身份验证不起作用,因为重定向URL仍设置为localhost。生成的链接以:

开头
  

https://www.facebook.com/dialog/oauth?response_type=code&client_id=xxxxxxxxxxxxxxxx&redirect_uri=https%3A%2F%2Flocalhost%2Fsignin-facebook

它如何生成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>
}

由于

1 个答案:

答案 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上运行,并且您正在使用正确的域名浏览它