我在客户端有 Angular2,在服务器端有 ASP.NET Core。我使用JavaScriptServices(aspnetcore-spa 模板)。
对于身份验证,我使用OpenIddict并在此处遵循示例。
现在我在 Controller 类方法中的服务器端,我想验证 id_token 因为这是在这一端建议的:
重要提示:请勿使用 getId() 返回的 Google ID 或用户的个人资料信息将当前登录的用户与您的后端服务器通信。相反,发送可以在服务器上安全验证的 ID 令牌。
而且我还想通过 ASP.NET Core 身份在我的数据库中注册用户(保存电子邮件、个人资料......)。
我想使用.NET 的 Google API 客户端库 来获取用户信息并存储 refresh_token。几年前,我设法用 PHP 做到这一点,但我无法用 .NET 解决。
我下载 nuget 包:Google.Apis、Google.Apis.OAuth2.v2、Google.Apis.Plus.v1。
我不确定我需要哪个 nuget 包,我应该使用哪个类,如何设置 Google ServerKey 以及如何从我从gapi.signin2 button获得的信息中获取用户信息。
简单来说:
如何使用 Google .NET 客户端库从 .NET 验证 id_token?