文档首页/ 应用管理与运维平台 ServiceStage/ API参考/ 访问Git仓库API/ 创建OAuth授权 - CreateOAuthAuthorization
更新时间:2026-02-28 GMT+08:00
分享

创建OAuth授权 - CreateOAuthAuthorization

功能介绍

创建OAuth授权。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,需具备如下身份策略权限。

    授权项

    访问级别

    资源类型(*为必须)

    条件键

    别名

    依赖的授权项

    servicestage:repositoryAuth:create

    write

    repositoryAuth *

    -

    servicestage:app:create

    -

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

租户项目ID。获取方法,请参考获取项目ID

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

repo_type

String

参数解释:

代码仓类型。

取值范围:

  • DevCloud:codearts制品仓。
  • Gitee:开源中国推出代码托管平台。
  • GitHub:开源代码仓。
  • GitLab:开源代码仓。
  • Bitbucket:源代码托管网站。

默认取值:

不涉及

表2 查询参数

参数

是否必选

参数类型

描述

tag

String

参数解释:

站点标签。

取值范围:

不涉及

默认取值:

不涉及

请求消息

表3 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

String

参数解释:

消息体的类型(格式)。

约束限制:

不涉及

取值范围:

application/json;charset=utf8

默认取值:

不涉及

X-Auth-Token

String

参数解释:

调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考认证鉴权

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表4 请求Body参数

参数

是否必选

参数类型

描述

name

String

参数解释:

授权名称。

取值范围:

不涉及

默认取值:

不涉及

code

String

参数解释:

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

取值范围:

不涉及

默认取值:

不涉及

state

String

参数解释:

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

取值范围:

不涉及

默认取值:

不涉及

code和state参数值获取方法:

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

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

  3. 华为云控制台登录页面输入账号和密码,单击“登录”

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

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

    例如:

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

  5. 对获取到的URL进行URL解码,获得解码后的URL。

    示例如下:

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

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

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

响应消息

表5 响应参数

参数

参数类型

描述

authorization

Object

参数解释:

授权结构体,请参考表6

表6 authorization

参数

参数类型

描述

name

String

参数解释:

授权名称。

取值范围:

不涉及

repo_type

String

参数解释:

代码仓类型。

取值范围:

  • DevCloud:codearts制品仓。
  • Gitee:开源中国推出代码托管平台。
  • GitHub:开源代码仓。
  • GitLab:开源代码仓。
  • Bitbucket:源代码托管网站。

repo_host

String

参数解释:

仓库地址。

取值范围:

不涉及

repo_home

String

参数解释:

您的仓库主页。

取值范围:

不涉及

repo_user

String

参数解释:

您的仓库用户名。

取值范围:

不涉及

avartar

String

参数解释:

您的仓库头像。

取值范围:

不涉及

token_type

String

参数解释:

仓库授权方式。

取值范围:

  • oauth:令牌。
  • personal:个人信息。
  • password:密码。

create_time

Long

参数解释:

仓库授权创建时间戳。

取值范围:

不涉及

update_time

Long

参数解释:

仓库授权修改时间戳。

取值范围:

不涉及

status

Integer

参数解释:

仓库授权状态。

取值范围:

  • 0:正常
  • 1:过期
  • 2:未认证

请求示例

创建名称为auth1的OAuth授权。

{
  "name": "auth1",
  "code": "04bed2df009f3fc9***c",
  "state": "$2a$10$.uQYThj5yKFs51w9s9ajeuQ0NSGshPH7IUfXoZLPlz7J/oAJ8B***"
}

响应示例

{
  "authorization": {
    "name": "auth1",
    "repo_type": "github",
    "repo_host": "https://api.github.com",
    "repo_home": "https://github.com/tom-repo",
    "repo_user": "repo",
    "avartar": "https://avatars.githubusercontent.com/u/73919200?v=4",
    "token_type": "oauth",
    "create_time": 1649758626858,
    "update_time": 1649758626858,
    "status": 0
  }
}

状态码

状态码

描述

200

操作成功。

400

错误的请求。

错误码

请参考ServiceStage错误码

相关文档