IdentityServer4 是 ASP.NET Core的一个包含OpenID Connect和OAuth 2.0协议的框架,提供了单点登录,集中控制,API访问控制等功能。
OAuth2.0 定义了四种授权模式:
Implicit:简化模式;直接通过浏览器的链接跳转申请令牌。
Client Credentials:客户端凭证模式;该方法通常用于服务器之间的通讯;该模式仅发生在Client与Identity Server之间。
Resource Owner Password Credentials:密码模式
Authorization Code:授权码模式;
客户端模式(Client Credentials)
适用于和用户无关,机器与机器之间直接交互访问资源的场景。
POST https://api.oauth2server.com/token grant_type=client_credentials& client_id=CLIENT_ID& client_secret=CLIENT_SECRET
密码模式(resource owner password credentials)
适用于当前的APP是专门为服务端设计的情况。
POST https://api.oauth2server.com/token grant_type=password& username=USERNAME& password=PASSWORD& client_id=CLIENT_ID
简化模式在 IdentityServer4 中的实现,就是 OpenID Connect。
简单概述:客户端确定 URL(用户认证服务),登录在用户认证服务,验证成功,返回客户端想要的用户数据,并使此用户为登录状态,可以在客户端进行注销用户。
需要注意的是:因为简化模式,所以 access_token 是作为 URL 参数返回的。
共有条评论 网友评论