asp.net-core – 使用ASP.NET Core后端服务器验证Google访问令牌
我在客户端上有Angular2,在服务器端有ASP.NET Core.我使用
JavaScriptServices(aspnetcore-spa模板).
对于身份验证,我使用 OpenIddict,然后按照示例 here. 现在我在Controller类方法的服务器端,我想验证id_token,因为这是在this方面建议的:
我还想通过ASP.NET核心身份在我的数据库中注册用户(保存电子邮件,个人资料…). 我想使用Google API client Library for .NET获取用户信息并存储refresh_token.几年前我设法用PHP做到了,但我无法用.NET来解决这个问题. 我不确定我需要哪个nuget包,我应该使用哪个类,如何设置Google ServerKey以及如何从我从gapi.signin2 button获得的信息中获取用户信息. 简单来说: 解决方法
我找到了解决方案
here.它很旧,但它确实有效.
var googleInitializer = new BaseClientService.Initializer(); googleInitializer.ApiKey = this.config["Authentication:Google:ServerKey"]; Oauth2Service ser = new Oauth2Service(googleInitializer); Oauth2Service.TokeninfoRequest req = ser.Tokeninfo(); req.AccessToken = request.AccessToken; //access token received from Google SignIn button Tokeninfo userinfo = await req.ExecuteAsync(); 我没弄明白如何在服务器上获取显示名称和图片.但它可以在客户端完成: onGoogleLoginSuccess(user: gapi.auth2.GoogleUser) { console.log("basic profile",user.getBasicProfile()); } 如果有人知道更新的解决方案或如何在服务器上检索基本用户配置文件,请分享. 另外我可以使用Google,但要小心,因为Google帐户不是Google帐户.我没有帐户并收到错误:
在代码中: var plusService = new PlusService(googleInitializer); Person me = await plusService.People.Get(userinfo.UserId).ExecuteAsync(); 但是可以获取所有用户信息(图片,显示名称,名字,姓氏,生日……) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-4 – 从数据库上传模型时丢失dataAnottation
- asp.net-mvc – Chrome丢失了cookie
- asp.net-mvc – 传递的JSON集合未被控制器拾取
- asp.net-mvc – 在应用程序洞察中设置用户名
- file-upload – 使用不同的名称字段动态添加FileUpload
- ASP.NET / IIS7 Url重写映射不起作用
- asp.netcore di 实现批量接口注入
- asp.net – ASP MVC – 创建目录路径而不是文件路径的Bundl
- 在ASP.Net上为每个Web请求创建dbcontext的成本
- 快速开发之代码生成器(asp.net mvc4 + easyui + knockoutj
- ASP.NET DataGrid和自定义分页
- 【 .Net码农】ASP.NET MVC中使用Dropzone.js实现
- asp.net-core – VS2017 RC Web部署 – ERROR_CE
- asp.net – K运行时使用的.Net完整框架和.Net Co
- asp.net – “发布失败”,但建立成功?
- asp.net-mvc-5 – ASP.NET MVC中Controller的模型
- asp.net-mvc – ASP.NET MVC中的全局错误处理(控
- asp.net – EF,UoW和Repository – 何时在WebFor
- ASP.Net Core 2.0和日志记录
- .net – IDictionary到SelectList?