更新时间:2022-12-05 GMT+08:00

创建OAuth授权

功能介绍

创建OAuth授权。

URI

POST /v1/{project_id}/git/auths/{repo_type}/oauth

参数说明见表1

表1 路径参数

参数

类型

必选

说明

project_id

String

租户项目ID。

repo_type

String

仓库类型。

取值范围:github、gitlab、gitee、bitbucket。

表2 查询参数

参数

类型

必选

说明

tag

String

站点标签。

请求消息

请求参数

表3 请求参数说明

参数

类型

必选

说明

name

String

授权名称。

code

String

git仓库授权后,重定向回来的url里面的query参数。

state

String

git仓库授权后,一次性的认证编码和随机串。

code和state参数值获取方法:

  1. 在浏览器地址栏中输入访问获取授权重定向URL接口获取到的URL并回车。
  2. 在登录页面输入您的代码仓库帐号和密码。

    如果您已经登录代码仓库,则无需执行这一步。

  3. 在云服务控制台登录页面输入帐号和密码,单击“登录”

    如果您已经登录云服务控制台,则无需执行这一步。

  4. 等待页面显示新建授权失败后,复制地址栏的URL。例如:

    https://console****.com/servicestage/oauth?repo_type=github&code=04bed2df009f3fc9***c&state=%242a%2410%24.uQYThj5yKFs51w9s9ajeuQ0NSGshPH7IUfXoZLPlz7J%2FoAJ8B***

  5. 对获取到的URL进行URL解码,获得解码后的URL。示例如下:

    https://console.****.com/servicestage/oauth?repo_type=github&code=04bed2df009f3fc9***c&state=$2a$10$.uQYThj5yKFs51w9s9ajeuQ0NSGshPH7IUfXoZLPlz7J/oAJ8B***

    获取其中code和state对应的参数值。

获取到的state参数值为一次性的认证编码和随机串,仅支持使用一次。如需再次调用本接口创建OAuth授权,请再次执行获取授权重定向URL获取URL并参考本方法获取code和state参数值。

响应消息

响应参数

表4 响应参数说明

参数

类型

说明

authorization

Object

授权结构体,请参考表5

表5 authorization参数说明

参数

类型

说明

name

String

授权名称。

repo_type

String

仓库类型。

取值范围:github、gitlab、gitee、bitbucket。

repo_host

String

仓库地址。

repo_home

String

仓库主页。

repo_user

String

仓库用户名。

avartar

String

头像。

token_type

String

授权方式。

create_time

Long

创建时间。

update_time

Long

修改时间。

status

Integer

状态。

示例

请求示例

{
  "name": "string",
  "code": "string",
  "state": "string"
}

响应示例

{
  "authorization": {
    "name": "string",
    "repo_type": "string",
    "repo_host": "string",
    "repo_home": "string",
    "repo_user": "string",
    "avartar": "string",
    "token_type": "string",
    "create_time": 0,
    "update_time": 0,
    "status": 0
  }
}

状态码

表6 状态码说明

状态码

描述

200

操作成功。

400

错误的请求。

错误码

错误码格式为:SVCSTG.REPO.[Error_ID],例如:SVCSTG.REPO.0401。错误码说明请参考ServiceStage错误码