Asi*_*kir 6 c# asp.net google-oauth asp.net-core asp.net-core-webapi
我正在使用 ASP.NET Core WebAPI (.NET 6.0)
我想使用 Google 在https://developers.google.com/identity/gsi/web上共享的指南来实施 Google 身份验证
我对该过程的理解是 - 我从我的 Web 客户端 (VueJS) 向 Google 请求 JWT - 将 JWT 发送到 WebAPI 进行验证。
为了进行验证,我似乎需要根据https://developers.google.com/identity/sign-in/web/backend-auth上共享的指南编写一些代码。
然后,我使用数据库中存储的详细信息、角色信息和声明为用户创建一个新的 JWT,并将其发送回客户端。
客户端将新的 JWT 保存到本地存储,并为每个新的 API 请求持续发送它。
整个过程感觉有点像重新发明轮子,有没有更标准的方法来处理WebAPI部分?
我认为您对谷歌身份验证的理解是正确的。关于使用 Google 身份验证的 webapi 的最佳实践也应该是相同的。
1. 在 Google 中注册您的帐户,获取 client_id 和 client_secret。
2. 在.Net core中添加Identity、Authentication、Google服务,如下。并将属性 [Authorize()] 添加到您想要保护的 API。
3.access_token
从谷歌获取。
4.access_token
访问 webapi 时附加在每个 httprequest 中。