我尝试使用Microsoft和Google身份验证服务对我的用户进行身份验证。微软服务没有问题,但我有谷歌问题。
总结我的解释,我在谷歌控制台管理器中执行了以下任务:
我配置我的Web应用程序如下:
var googleOAuth2AuthenticationOptions = new GoogleOAuth2AuthenticationOptions
{//www.mylocal.com Site clientId
ClientId = "my client Id",
ClientSecret = "my secret",
};
app.UseGoogleAuthentication( googleOAuth2AuthenticationOptions);
问题是: 当用户尝试使用谷歌登录时,它会成功重定向到Google授权页面,但是当他授权我的应用程序时,他会重定向到我的回调,但我的应用程序无权访问他的数据。
您可以使用以下链接查看我的网站问题。
答案 0 :(得分:0)
我错误地填写了“客户端密钥”,其值为“客户端密钥”。当谷歌服务将请求重定向到我的Web应用程序(在服务器端)时,我的应用程序尝试使用不正确的客户端密钥访问数据。换句话说,谷歌没有将访问令牌返回到我的Web应用程序。这个link更多地解释了我的场景。以下段落解释了我的情况。
当您的应用程序重定向时,授权序列开始 浏览器到Google网址; URL包含查询参数 表示所请求的访问类型。谷歌处理用户 身份验证,会话选择和用户同意。结果是 授权代码,应用程序可以交换访问权限 令牌和刷新令牌。