我有asp.net indentity正常工作。但是,当用户登录时,Google会询问用户是否可以提供以下信息:
- 查看您的电子邮件地址
- 查看有关您帐户的基本信息
问题是我甚至不想要那些信息。我只想要一种独特的方式来识别用户(它确实提供)。我不希望用户认为我们在登录时会发送垃圾邮件。
在Startup.Auth.cs中,我使用了一个非常普通的谷歌设置:
app.UseGoogleAuthentication();
var googleOAuth2AuthenticationOptions = new GoogleOAuth2AuthenticationOptions
{
ClientId = "XXXX",
ClientSecret = "YYYY",
CallbackPath = new PathString("/Account/LoginCallback/"),
};
googleOAuth2AuthenticationOptions.Scope.Add("openid"); //!Important
app.UseGoogleAuthentication(googleOAuth2AuthenticationOptions);
答案 0 :(得分:3)
在Katana v2中间件中,谷歌支持只是Open ID,并且它被硬编码以请求电子邮件。
在v2.1中,他们现在拥有OAuth2支持,这意味着GoogleAuthenticationOptions具有范围属性,可让您控制从谷歌询问的内容。但这意味着您需要像任何其他OAuth2提供商一样设置您的客户端应用程序(因此您需要注册并获取客户端ID /机密)。