一、支持的应用类型
Web 应用、单页应用、移动 App。
二、请求方法
GET
三、请求路径
/oauth2/authorize
四、请求示例
GET /oauth2/authorize?scope=openid&client_id=TENANT_CLIENT_ID&redirect_uri=https%3A%2F%2Fexample.com%2Fcallback&response_type=code&state=MOCK_STATE&code_challenge_method=S256&code_challenge=MOCK_CODE_CHALLENGE&prompt=create HTTP/1.1Host: sample.portal.tencentciam.com
五、请求参数
| 参数 | 可选 | 描述 |
| scope | false | 填固定值 openid。 |
| client_id | false | 应用的 client_id。可参考 应用管理页面 > 选定指定应用 > 单击应用配置 > 对应的“Client Id”。 |
| redirect_uri | false | 授权成功后的重定向地址。需要与租户管理平台配置的地址一致。 |
| response_type | false | 填固定值 code。 |
| state | true | 应用随机生成的一个字符串,服务器会以 HTTP 响应参数的形式原样返回给应用。为防止 CSRF 攻击,建议携带此参数。 |
| code_challenge_method | false | 计算 PKCE code_challenge 的算法。目前仅支持固定值 S256 。 |
| code_challenge | false | PKCE code_challenge。 |
| prompt | true | 此参数存在且取值为 create 时代表发起注册请求。其他情况均会被解析为发起登录请求。 |
六、正常响应示例
重定向到认证门户用户注册页面。
HTTP/1.1 302 FoundLocation: https://sample.portal.tencentciam.com/portal/signup?p_state=MOCK_LOGIN_PORTAL_STATE
七、异常响应示例
·client_id 参数缺失或有误。
HTTP/1.1 400 Bad Request
·redirect_uri 参数与注册信息不匹配。
HTTP/1.1 400 Bad Request
·response_type 参数缺失或有误。
HTTP/1.1 400 Bad Request
·不支持的 code_challenge_method。
HTTP/1.1 302 FoundLocation: https://example.com/callback?error=invalid_request&error_description=OAuth%202.0%20Parameter:%20code_challenge_method&error_uri=https://datatracker.ietf.org/doc/html/rfc7636%23section-4.4.1&state=MOCK_STATE