私信发送成功
检测到您已登录开源中国,是否 一键登录码云
码云 OAuth 文档
为了构建更好的码云生态环境,我们推出了基于Oauth2的API V5版本。
API V5接口使用方式以及Url都参照Github,为了各位开发者更好的兼容已经存在的第三方应用。

API 使用条款

  • OSCHINA 用户是资源的拥有者,需尊重和保护用户的权益。
  • 不能在应用中使用 OSCHINA 的名称。
  • 未经用户允许,不准爬取或存储用户的资源。
  • 禁止滥用 API,请求频率过快将导致请求终止。

OAuth2 认证基本流程

OAuth2 获取 AccessToken 认证步骤

  • 应用通过 浏览器 或 Webview 将用户引导到码云三方认证页面上( GET请求https://git.oschina.net/oauth/authorize?client_id={client_id}&redirect_uri={redirect_uri}&response_type=code
  • 用户对应用进行授权
  • 码云认证服务器通过回调地址{redirect_uri}将 用户授权码 传递给 应用服务器 或者直接在 Webview 中跳转到携带 用户授权码的回调地址上,Webview 直接获取code即可({redirect_uri}?code=abc&state=xyz)
  • 应用服务器 或 Webview 使用 access_token API 向 码云认证服务器发送post请求传入 用户授权码 以及 回调地址( POST请求https://git.oschina.net/oauth/token?grant_type=authorization_code&code={code}&client_id={client_id}&redirect_uri={redirect_uri}&client_secret={client_secret}
  • 码云认证服务器返回 access_token
  • 应用通过 access_token 访问 Open API 使用用户数据。
    注意: 如果获取 access_token 返回 403,可能是没有设置User-Agent的原因。
    详见: 获取Token时服务端响应状态403是什么情况

创建应用流程

  • 修改资料 -> 第三方应用,创建要接入码云的应用。
  • 填写应用相关信息,勾选应用所需要的权限。其中: 回调地址是用户授权后,码云回调到应用,并且回传授权码的地址。
  • 创建成功后,会生成 Cliend ID Client Secret。他们将会在上述OAuth2 认证基本流程用到。