client_details
db_table_description.html
oauth2_registered_client
client_id必须输入,且必须唯一,长度至少10位; 在实际应用中的另一个名称叫appKey,与client_id是同一个概念.
Client有意义的名称.
client_secret必须输入,且长度至少10位; 在实际应用中的另一个名称叫appSecret,与client_secret是同一个概念. 注意: 由于client_secret 会加密存储, 请先复制并保留client_secret值
选择在认证时支持传递client_secret参数的方式;在正式环境中,此值一般不需要选择而是由后台创建时根据业务设置即可; client_secret_jwt与private_key_jwt只在grant_type=jwt-bearer中会使用到
client_secret_jwt
private_key_jwt
scopes值由OIDC 1.0协议中定义(详见#ScopeClaims),openid必须选择;在正式环境中,此值一般不需要选择而是由后台创建时根据业务设置即可
至少勾选一项grant_type(s), 且不能只单独勾选refresh_token; 当勾选jwt-bearer时需要将'authentication_methods'中的 client_secret_jwt与private_key_jwt至少勾选一个
refresh_token
jwt-bearer
若grant_type包括authorization_code, 则必须输入至少一个 redirect_uri (多个uri用半角逗号分隔)
grant_type
OAuth2 退出时post的客户端重定向 uri (多个uri用半角逗号分隔),可选
是否在authorization_code流程中支持PKCE(Proof Key for Code Exchange)
是否在authorization_code流程中授权时需要用户进行确认
选择在调用/oauth2/token API时使用的签名算法(当grant_type为jwt-bearer时会用到);HS256是对称算法(secret是client_secret加密后的值), RS256与ES256是非对称算法(public-key由提供的jwk_set_url获取)
HS256
RS256
ES256
设置client提供的获取jwk的URL地址(当grant_type为jwt-bearer且'认证jwt签名算法'选择RS256或ES256时会用到); 此URL返回的jwk格式要与spring-oauth-server提供的jwks一致 (参考实现类JwtBearerJwksController.java)
JwtBearerJwksController.java
设定authorization_code流程中code的有效时长(单位:秒);默认300(5分钟)
设定device_code流程中code的有效时长(单位:秒);默认300(5分钟)
设定客户端access_token的有效时长(单位:秒),可选, 若不设定值则使用默认的有效时间值(3600秒); 若设定则必须是大于0的整数值(推荐不小于60)
设定客户端refresh_token的有效时长(单位:秒),可选, 若不设定值则使用默认的有效时间值(43200秒); 若设定则必须是大于0的整数值且不能小于access_token有效时长
当调用refresh token API后是否继续使用之前的refresh_token值,Yes则继续使用,No则每次调用refresh token API后会返回一新的refresh_token值(即refresh_token只能使用一次,安全性更高)
设置access_token值的格式,self-contained使用JWT格式(默认),reference使用类UUID格式
self-contained
reference
选择生成id_token时使用的算法;注意:支持的算法要有对应用jwk (jwks.json 文件),判断支持哪些key可访问 /.well-known/openid-configuration进行查看