【问题标题】:google authentication return access denied after authorization page via owin通过owin授权页面后谷歌身份验证返回访问被拒绝
【发布时间】:2016-08-09 19:55:50
【问题描述】:

我尝试使用 Microsoft 和 Google 身份验证服务对我的用户进行身份验证。 Microsoft Service 可以正常工作,但我使用 google one 有问题。

总结一下我的解释,我在谷歌控制台管理器中做了以下任务:

  1. 启用 google+ API(甚至 google+ 域 API)。
  2. 向我的项目添加两个重定向 URL:http://{my website}/signin-google , http://{my website}/account/externallogincallback

我配置我的网络应用程序如下:

 var googleOAuth2AuthenticationOptions = new GoogleOAuth2AuthenticationOptions
    {//www.mylocal.com Site clientId
        ClientId = "my client Id",
        ClientSecret = "my secret",
    };
app.UseGoogleAuthentication( googleOAuth2AuthenticationOptions);

问题是: 当用户尝试使用 google 登录时,它会成功重定向到 google 授权页面,但是当他授权我的应用程序时,他会重定向到我的回调,但我的应用程序无法访问他的数据。

您可以使用以下链接查看我的网站问题。

my website

【问题讨论】:

  • 我从未尝试过使用 GoogleOAuth2AuthenticationOptions 但如果您不添加任何范围,我认为您将无法访问任何数据。
  • 我应该搜索你的回复。@DalmTo
  • 或者给我几分钟的时间来玩一下它,或者查看 Google .net 客户端库,由你决定:)
  • 尝试添加这个:googleOAuth2AuthenticationOptions.Scope.Add("profile");
  • 我测试了 3 种不同的示波器。但没有用。

标签: asp.net-mvc oauth-2.0 google-oauth owin google-authentication


【解决方案1】:

我错误地用“client key”的值填写了“client secret”。当 google 服务将请求重定向到我的 Web 应用程序(在服务器端)时,我的应用程序尝试使用不正确的客户端密码访问数据。换句话说,谷歌没有将访问令牌返回给我的网络应用程序。这个link 解释了更多关于我的场景。以下段落解释了我的情况。

当您的应用程序重定向一个 浏览器访问 Google URL; URL 包含的查询参数 指示所请求的访问类型。谷歌处理用户 身份验证、会话选择和用户同意。结果是一个 授权码,应用程序可以交换访问权限 令牌和刷新令牌。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-15
    • 2015-09-30
    • 2014-05-08
    • 2014-07-14
    • 1970-01-01
    • 2017-11-28
    • 2018-06-24
    相关资源
    最近更新 更多