gpt4 book ai didi

c# - MVC Google oauth 与 Azure 网站域问题

转载 作者:行者123 更新时间:2023-12-03 04:52:03 24 4
gpt4 key购买 nike

当我们的网站是 mywebsite.azurewebsites.net 时,Google ouath 运行良好。

但是,现在当我们在 Azure 门户中添加域以映射到网站时,当同一用户使用 google oauth 登录时,它无法识别它并要求注册。注册时它会抛出一个错误,指出用户已经存在。

不确定自从我们向网站添加域以来发生了什么变化。

最佳答案

如果您更新到最新的 Microsoft.Owin.Security.Google nuget 包 (v2.1.0),您将获得 app.UseGoogleAuthentication 的新重载,它允许您指定 clientId 和 clientSecret。对两者使用相同的值将确保您获得一致的providerKey值,然后该值将从多个端点映射到正确的用户。我使用它以便可以在 www.example.com 和 api.example.com 之间共享登录信息。例如,每个 Startup.Auth.cs 应包含相同的片段:

    var googleOAuth2AuthenticationOptions = new GoogleOAuth2AuthenticationOptions
{
ClientId = "999999999999-99999999999999999999999999999999999.apps.googleusercontent.com",
ClientSecret = "XxX-zzzzzzzzzzzzzzzz",
CallbackPath = new PathString("/Account/LoginCallback/"),
};

// restrict the retrieved information to just signin information
googleOAuth2AuthenticationOptions.Scope.Add("openid");

app.UseGoogleAuthentication(googleOAuth2AuthenticationOptions);

我还建议咨询有关“openid”选项的相关问题:ASP.Net Identity provider requesting too much info .

此外,请注意,您必须使用 console.developers.google.com 配置单个 Google clientId 和 clientSecret 才能识别您的所有重定向 URI。这意味着每个主机名/端口组合加上/Account/LoginCallback/都需要列出。

关于c# - MVC Google oauth 与 Azure 网站域问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21256101/

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