Home

Test [[${clientDetailsDto.clientId}]]

针对不同的grant_type提供不同的测试URL, 完整的OAuth测试请访问spring-oauth-client项目.

请先输入client_secret:

Test [authorization_code]

输入每一步必要的信息后点击其下面的链接地址.

  1. 从 spring-oauth-server获取 'code'
    redirect_uri:
    GET
  2. 用 'code' 换取 'access_token'
    输入第一步获取的code:
    POST
Test [authorization_code + PKCE]

输入每一步必要的信息后点击其下面的链接地址.

  1. 从 spring-oauth-server获取 'code'
    PKCE流程在开始前需要先通过代码生成code_verifiercode_challenge (如何生成详见工具类 PKCEUtils.java);
    生成后在获取'code'时要在已有的参数基础上再增加两个参数:
    code_challenge 对 code_verifier 使用指定算法进行计算(digest)并base encode的值
    code_challenge_method 固定值:S256

    redirect_uri:
    code_challenge: (后台代码生成,不可修改)
    GET
  2. 用 'code' 换取 'access_token'
    输入第一步获取的code:
    code_verifier: (后台代码生成,不可修改)
    POST
Test [password] OAuth2.1不支持

输入username, password 后点击链接地址.

username:
password:
POST
Test [device_code] OAuth2.1新增
  1. 设备上请求 /oauth2/device_authorization获取 user_code, device_code,verification_uri

    POST

    一般此步骤是在设备上通过代码来完成, 此处只作演示流程

  2. 在设备上展示user_code或显示一个二维码(内容为verification_uri_complete URL)

    用已经登录成功的浏览器(或另一个已经认证的设备)访问verification_uri_complete URL(可通过扫码等方式获取内容)

    此处方便演示, 请点击/oauth2/device_verification并输入上一步获取到的user_code (若未认证将跳转到登录)

    提示:此步骤必须在有效时间内完成, user_code的有效时长在上一步中返回的数据expires_in来决定(单位:秒, 默认5分钟)

  3. 在第2步进行的同时, 设备上后台将定时(如每隔5秒)向spring-oauth-server发起获取token的请求/oauth2/token (需要使用第1步中获取到 device_code 的值),
    直到获取成功(即第2步操作完成授权设备登录)或超时(即设备轮询请求等待的时长超出第1步返回的时间expires_in)

    device_code:
    POST

    提示:在第2步进行过程中调用第3步获取token API时会响应等待授权的结果(Http状态码 400, error='authorization_pending')

Test [jwt-bearer] OAuth2.1新增
......
Test [client_credentials]

点击链接地址即可测试

POST
Test [refresh_token]

输入refresh_token 后点击链接地址.

refresh_token:
POST
复用refresh_token: