加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-identity – ASP.Net身份提供商请求太多信息

发布时间:2020-12-16 09:54:04 所属栏目:asp.Net 来源:网络整理
导读:我有asp.net indentity工作正常.但是,当用户登录时,Google会询问用户是否可以提供以下信息: – 查看您的电子邮件地址 – 查看有关您帐户的基本信息 问题是我甚至不想要那些信息.我只想要一种独特的方式来识别用户(它确实提供).我不希望用户认为我们在登录时
我有asp.net indentity工作正常.但是,当用户登录时,Google会询问用户是否可以提供以下信息:

– 查看您的电子邮件地址
– 查看有关您帐户的基本信息

问题是我甚至不想要那些信息.我只想要一种独特的方式来识别用户(它确实提供).我不希望用户认为我们在登录时会发送垃圾邮件.

在Startup.Auth.cs中,我使用了一个非常香草的谷歌设置:

app.UseGoogleAuthentication();

编辑:解决方案

布洛克的回答让我找到了正确的解决方案.关键是在范围内添加“openid”.

var googleOAuth2AuthenticationOptions = new GoogleOAuth2AuthenticationOptions
        {
            ClientId = "XXXX",ClientSecret = "YYYY",CallbackPath = new PathString("/Account/LoginCallback/"),};

    googleOAuth2AuthenticationOptions.Scope.Add("openid"); //!Important

    app.UseGoogleAuthentication(googleOAuth2AuthenticationOptions);

解决方法

在Katana v2中间件中,Google支持仅是Open ID,并且它被硬编码以请求电子邮件.

在v2.1中,他们现在支持OAuth2,这意味着GoogleAuthenticationOptions具有范围属性,允许您控制从谷歌询问的内容.但这意味着您需要像任何其他OAuth2提供商一样设置您的客户端应用程序(因此您需要注册并获取客户端ID /机密).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读