diff --git a/src/main/java/com/monkeyk/sos/config/WebSecurityConfigurer.java b/src/main/java/com/monkeyk/sos/config/WebSecurityConfigurer.java index 42a8d65..4fadcfc 100644 --- a/src/main/java/com/monkeyk/sos/config/WebSecurityConfigurer.java +++ b/src/main/java/com/monkeyk/sos/config/WebSecurityConfigurer.java @@ -53,7 +53,7 @@ public class WebSecurityConfigurer { http.authorizeHttpRequests(matcherRegistry -> { // permitAll() 的URL路径属于公开访问,不需要权限 - matcherRegistry.requestMatchers("/favicon.ico*", "/oauth/rest_token*", "/bootstrap/**", "*.css").permitAll() + matcherRegistry.requestMatchers("/favicon.ico*", "/oauth/rest_token*", "*.js", "*.css").permitAll() .requestMatchers(HttpMethod.GET, "/login*").anonymous() // /user/ 开头的URL需要 ADMIN 权限 diff --git a/src/main/resources/templates/clientdetails/client_details.html b/src/main/resources/templates/clientdetails/client_details.html index 216b3a0..7322b39 100644 --- a/src/main/resources/templates/clientdetails/client_details.html +++ b/src/main/resources/templates/clientdetails/client_details.html @@ -36,8 +36,8 @@
  • - test - test + archive
    Archived diff --git a/src/main/resources/templates/clientdetails/register_client.html b/src/main/resources/templates/clientdetails/register_client.html new file mode 100644 index 0000000..1c271ea --- /dev/null +++ b/src/main/resources/templates/clientdetails/register_client.html @@ -0,0 +1,352 @@ + + + + + + + + + 注册client - Spring Security&OAuth2.1 + + + + + +Home + +

    注册client

    + +
    +

    + 若对OAuth2.1的client_details中的属性及作用不清楚, + 建议你先查看项目中的db_table_description.html文件(位于others目录)中对表oauth2_registered_client的说明, + 或在线访问db_table_description.html; + 因为注册client实际上是向该表中按不同的条件添加数据. +

    + +
    +
    +
    + + +
    + + +

    client_id必须输入,且必须唯一,长度至少5位; 在实际应用中的另一个名称叫appKey,与client_id是同一个概念.

    +
    +
    +
    + + +
    + + +

    Client有意义的名称.

    +
    +
    +
    + + +
    + + +

    client_secret必须输入,且长度至少8位; 在实际应用中的另一个名称叫appSecret,与client_secret是同一个概念. +
    + 注意: 由于client_secret 会加密存储, 请先复制并保留client_secret值 +

    +
    +
    +
    + + +
    + + + + + +

    选择在认证时支持传递client_secret参数的方式;在正式环境中,此值一般不需要选择而是由后台创建时根据业务设置即可

    +
    +
    + +
    + + +
    + + + + + + +

    scopes值由OIDC 1.0协议中定义,openid必须选择;在正式环境中,此值一般不需要选择而是由后台创建时根据业务设置即可

    +
    +
    + +
    + + +
    + + + + + + + +

    至少勾选一项grant_type(s), 且不能只单独勾选refresh_token

    +
    +
    + +
    + + +
    + + +

    grant_type包括authorization_code, 则必须输入至少一个 redirect_uri + (多个uri用半角逗号分隔)

    +
    +
    + +
    + + +
    + + +

    OAuth2 退出时post的客户端重定向 uri (多个uri用半角逗号分隔),可选

    +
    +
    + +
    +
    + +
    + +
    +
    + + +
    + + + +

    是否在authorization_code流程中支持PKCE(Proof Key for Code Exchange)

    +
    +
    +
    + + +
    + + +

    选择在调用/oauth2/token + API时使用的签名算法(当grant_type为jwt-bearer时会用到);注意:支持的算法要有对应用jwk (jwks.json + 文件),判断支持哪些key可访问 + /.well-known/openid-configuration进行查看 +

    +
    +
    + +
    + +
    + + +
    + + +

    设定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

    +
    +
    +
    + + +
    + + + +

    设置access_token值的格式,self-contained使用JWT格式(默认),reference使用类UUID格式 +

    +
    +
    +
    + + +
    + + +

    选择生成id_token时使用的算法;注意:支持的算法要有对应用jwk (jwks.json + 文件),判断支持哪些key可访问 + /.well-known/openid-configuration进行查看 +

    +
    +
    +
    + + +
    +
    +
    + +
    +
    + + +
    +
    +
    + + 取消 +
    +
    +
    +
    +
    + + + +
    + + \ No newline at end of file