Appearance
🧩OAuth API 参考文档
1. 获取授权页面
接口说明:
Web 应用程序可调用此 API 获取 OAuth 授权页面 URL 地址。
请求方式 | GET |
---|---|
请求地址 | 授权场景:https://saas.api.yoo-ai.com/oauth/authorize |
请求参数
Query
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
app_id | String | Y | 应用ID 创建应用获取的应用ID |
response_type | String | Y | 固定为 code。 |
state | String | Y | 通常情况下,state 是一串随机字符串或哈希值。客户端在发起授权请求时将其附加到请求 URL 中,终端用户完成授权时,客户端会验证返回的 state 值是否与原始值匹配。如果不匹配或 state 参数丢失,客户端应拒绝这次授权请求。 |
code_challenge | String | Y | PKCE 协议的临时密钥。应用程序的服务端将一个随机数根据 code_challenge_method 指定的算法进行计算和转换,生成 code_challenge。 仅 PKCE 授权场景下使用,且该场景下此参数为必选。 |
redirect_uri | String | Y | 重定向 URL。创建 OAuth 应用时指定的重定向 URL。 |
请求示例
shell
curl --location --request GET 'https://saas.api.yoo-ai.com/oauth/authorize?response_type=code&app_id=8173420653665306615182245269&redirect_uri=https://www.yoo-ai.com/oauth/apps&state=1294848&code_challenge=*****&scope=SCOPE'
响应
- 返回结果的 Http code 为 302,跳转至用户设定授权页地址
2.获取 Access Token
接口说明
通过授权码(code)获取 Access Token。
请求方式 | POST |
---|---|
请求地址 | 授权场景:https://saas.api.yoo-ai.com/oauth/token |
请求参数
Header
参数名 | 取值 | 说明 |
---|---|---|
Content-Type | application/json | 请求正文的方式。 |
Body
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
code | String | Y | 授权码,即终端用户授权后,页面重定向的 URL 中 code 参数的值。 |
app_id | String | Y | 创建应用时获取的app_id。 |
code_verifier | String | Y | PKCE 协议授权流程中,应用程序的服务端生成的原始随机数。 |
expire_date | Int | N | 令牌过期时间,默认为 1 天。 |
响应结果
响应结果为 JSON 格式,包含以下字段:
字段 | 类型 | 说明 |
---|---|---|
access_token | String | 访问令牌。 |
expire_date | String | 访问令牌过期时间,格式为 Unix time 时间戳,精度为秒。 |
refresh_token | String | 刷新令牌,用于重新获取访问令牌。refresh_token 有效期为 30 天。有效期内可以凭 refresh_token 调用API 刷新 OAuth Access Token 获取新的 OAuth Access Token。 |
3.获取SaaS-URl地址
接口说明
通过授权码(code)获取 Access Token。
请求方式 | POST |
---|---|
请求地址 | 授权场景:https://saas.api.yoo-ai.com/oauth/saas-url |
请求参数
Header
参数 | 取值 | 说明 |
---|---|---|
Content-Type | application/json | 请求正文的方式 |
Authorization | Bearer + access_token |
响应结果
响应结果为 JSON 格式,包含以下字段:
字段 | 类型 | 说明 |
---|---|---|
saas_ppt | String | SaaS访问url地址。(单次使用生效,重新使用需再次请求) |
json
{
"code": 200,
"msg": "success",
"data": {
"saas_ppt": "https://ppt.yoo-ai.com?code=Qv2CY6s3Tm"
},
"request_id": ""
}