使用 Auth Server 作为身份源,其他系统可以通过 OIDC / OAuth 2.0 协议接入。
进入控制台 > 客户端,点击创建客户端。

填写客户端名称、回调地址和协议配置信息,点击创建。
若你的项目有后端服务,并且能够安全地存储密钥,在授权模式中勾选 authorization_code ,需要返回刷新令牌的场合,请勾选 refresh_token ,客户端认证方式勾选 client_secret_basic 和 client_secret_post ,需要返回身份令牌的场合,OIDC Scope 勾选 openid 。

流程如下:
sequenceDiagram
participant User as 用户
participant Client as 客户端
participant AuthServer as 授权服务器
participant ResourceServer as 资源服务器
User ->> Client: 请求资源
Client ->> AuthServer: 请求授权码 (authorization_code)
AuthServer -->> Client: 返回授权码
Client ->> AuthServer: 使用授权码请求访问令牌
AuthServer -->> Client: 返回访问令牌
Client ->> ResourceServer: 使用访问令牌请求资源
ResourceServer -->> Client: 返回资源
Client -->> User: 返回资源内容
若你的项目不能安全地存储密钥,如前端项目,在授权模式中勾选 authorization_code,客户端认证方式勾选 none,此时为公共客户端,将不会返回刷新令牌,需要返回身份令牌的场合,OIDC Scope 勾选 openid 。此时建议开启需要 PKCE,开启后,访问授权端点时,需要额外参数code_challenge 和 code_challenge_method ,访问获取令牌端点时,需要额外参数 code_verifier 。

流程如下:
sequenceDiagram
participant User as 用户
participant Client as 客户端
participant AuthServer as 授权服务器
participant ResourceServer as 资源服务器
User ->> Client: 请求资源
Client ->> AuthServer: 携带 code_challenge 请求授权码 (authorization_code)
AuthServer -->> Client: 返回授权码
Client ->> AuthServer: 使用授权码 + code_verifier 请求访问令牌
AuthServer -->> Client: 返回访问令牌
Client ->> ResourceServer: 使用访问令牌请求资源
ResourceServer -->> Client: 返回资源
Client -->> User: 返回资源内容
成功创建客户端后,将显示客户端 ID 和客户端密钥,需及时保存。

点击客户端,进入客户端详情页获取将客户端集成到 Auth Server 的端点信息。
