gpt4 book ai didi

c# - 使用具有不同 LocalHost 和已部署 key 的 FaceBook OAuth mvc5

转载 作者:太空宇宙 更新时间:2023-11-03 10:57:27 25 4
gpt4 key购买 nike

我在 VisualStudio 2013 预览版中使用 MVC5 模板,它具有出色的 Startup.Auth.cs 配置,适用于我尝试的所有社交域。但是,FaceBook 要求您指定返回主机。美好的。所以我有一个用于本地主机的 Facebook 应用程序和一个用于已部署应用程序的 Facebook 应用程序。我希望该应用知道它的部署位置并传递适当的 key ,但在 Startup.Auth.cs 位置内遇到问题。有没有更好的地方可以做到这一点?

 public void ConfigureAuth(IAppBuilder app)
{
// Enable the application to use a cookie to store information for the signed in user
// and to use a cookie to temporarily store information about a user logging in with a third party login provider
app.UseSignInCookies();

// Uncomment the following lines to enable logging in with third party login providers
//app.UseMicrosoftAccountAuthentication(
// clientId: "",
// clientSecret: "");

if (HttpContext.Current.Request.IsLocal)
{
app.UseFacebookAuthentication(
appId: "1234localid",
appSecret: "123123123123123");
}
else
{
app.UseFacebookAuthentication(
appId: "4321deployid",
appSecret: "123123123123123");
}

似乎这总是解决到第二个选项。好像当/AppStart/Startup.Auth.cs 被解析时,它不知道它何时是 IsLocal。

最佳答案

当前的请求绝对不是你想看的地方。请求可以是任何服务器上的本地请求。在任何情况下,在应用程序启动时,可能根本没有任何要查看的请求。

您希望应用程序根据其部署位置的不同而表现不同。你在部署的时候就知道它部署在哪里,这可能是决定你需要什么时候进行Facebook认证的最佳时机。

ConfigureAuth 方法是 Startup 类的一部分,Owin 使用它来初始化您的应用程序。

你可以有不同的启动类,你可以在 web.config 中配置 Owin 应该使用哪一个。在您部署的服务器上可能有这样的东西:

<appSettings>  
<add key="owin:appStartup" value="YourNamespaceHere.ProductionStartup" />
</appSettings>

在本地机器上你可以使用它。

<appSettings>  
<add key="owin:appStartup" value="YourNamespaceHere.Startup" />
</appSettings>

ProductionStartup 类具有部署场景所需的 Facebook 代码,Startup 类用于您的测试。

您可以阅读有关 OWIN Startup 的更多信息 here

关于c# - 使用具有不同 LocalHost 和已部署 key 的 FaceBook OAuth mvc5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18945257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com