登录流程

PKCE(Proof Key for Code Exchange)是通过一种密码学手段确保恶意第三方即使截获授权码Authorization Code,也无法向认证服务器交换Access Token,同时不需要在客户端存储Client Secret,避免Client Secret被泄露,这种模式主要用于客户端获取用户信息。

# 登录流程

采用PKCE模式整体流程为:

  1. 用户访问第三方应用,第三方应用随机生成一串长度43-128的字符并作URL-Safe的Base64编码处理,结果用作 code_verifier,将这串字符通过SHA256哈希,并用URL-Safe的Base64编码处理,结果用作code_challenge。

  2. 第三方应用使用code_challenge向竹云IDaaS发起授权登录请求,用户允许授权第三方应用后,竹云IDaaS将重定向到第三方应用,并且带上授权码code参数。

  3. 第三方应用使用授权码code和code_verifier调用竹云IDaaS API接口换取访问令牌access_token和 ID令牌 id_token。

  4. 第三方应用对id_token进行验签,解析id token获取用户信息。

# 开发步骤

竹云IDaaS平台采用 OIDC PKCE协议授权码模式接入开发流程如下:

# Step1:获取PKCE授权码

点击查看,获取PKCE授权码接口

# Step2:获取PKCE Access Token

点击查看,获取PKCE Access Token接口

# Step3:解析ID Token获取用户信息

点击查看,获取用户信息

# Step4:调用userinfo接口获取用户信息(可选)

点击查看,获取用户信息