在没有 ASP.NET Identity 的情况下,是否可以通过 Google 在 ASP.Net Core 中实现身份验证? 我已经实现了基于 cookie 的身份验证,如下所示:
https://learn.microsoft.com/en-us/aspnet/core/security/authentication/cookie?tabs=aspnetcore2x
并且我需要在项目中添加 Google 身份验证。
最佳答案
当然可以。以下是您可以执行此操作的一种方法的摘要。
您可以直接调用 OAuth2 身份验证服务器 API,并在 .NET 中编写自定义属性/处理程序/过滤器以与该功能集成并相应地控制对您的资源的访问。
https://developers.google.com/identity/protocols/OAuth2WebServer
我相信 Google 为其显式授权/服务器身份验证流程提供的当前端点如下:
- 登录:https://accounts.google.com/o/oauth2/v2/auth
- token :https://www.googleapis.com/oauth2/v4/token
- 详细信息:https://www.googleapis.com/plus/v1/people/me
您可以在上面的链接中找到有关特定 HTTP 请求和响应的更多详细信息,但据我所知,这是 Web 服务器的 OAuth2 的一般要点:)
回到您的核心应用程序,然后您可以编写自定义处理程序/过滤器/属性代码来处理身份验证和重定向。可以在此处找到一些示例 .NET 核心代码:
https://ignas.me/tech/custom-authentication-asp-net-core-20/
关于c# - 没有 ASP.NET Identity 的 ASP.NET Core 中的 Google 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48491463/