跳转至

认证方式

版本:v1

目录

认证方式概述

本API支持以下认证方式:

  1. Bearer Token认证:通过在请求头中添加Bearer Token进行认证
  2. OAuth 2.0认证:通过OAuth 2.0协议进行第三方应用授权认证

Bearer Token认证

Bearer Token是最常用的API认证方式,通过在HTTP请求头中添加Authorization字段来传递token。

获取Token

可以通过以下方式获取Bearer Token:

  • 账号密码登录:POST /User/{appKey}/SignIn
  • 邮箱登录:POST /User/{appKey}/EmailSignIn
  • 手机登录:POST /User/{appKey}/PhoneSignIn
  • UnionID登录:POST /User/{appKey}/UnionIDSignIn
  • 外部账号登录:POST /User/{appKey}/OAuthAccountSignIn
  • OAuth授权:POST /OAuth/{appKey}/Authorize

使用Token

在请求头中添加Authorization字段,格式为:

Authorization: Bearer your-token

示例

1
2
3
4
5
6
7
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
    .url("{server}/User/{appKey}/Profile")
    .get()
    .addHeader("Authorization", "Bearer your-token")
    .build();
Response response = client.newCall(request).execute();
1
2
3
4
5
6
7
8
import requests

url = "{server}/User/{appKey}/Profile"
headers = {
    "Authorization": "Bearer your-token"
}

response = requests.get(url, headers=headers)
package main

import (
    "net/http"
)

func main() {
    client := &http.Client{}
    req, _ := http.NewRequest("GET", "{server}/User/{appKey}/Profile", nil)

    req.Header.Add("Authorization", "Bearer your-token")
    resp, _ := client.Do(req)
}
const axios = require('axios');

const config = {
    method: 'get',
    url: '{server}/User/{appKey}/Profile',
    headers: {
        'Authorization': 'Bearer your-token'
    }
};

axios(config)
    .then(response => console.log(response.data))
    .catch(error => console.log(error));

OAuth 2.0认证

本API支持OAuth 2.0协议,允许第三方应用获取用户授权,访问用户资源。

授权流程

  1. 申请授权码:应用请求用户授权
  2. 获取访问令牌:使用授权码获取访问令牌
  3. 访问API:使用访问令牌调用API

申请授权码

请求方式:POST
请求路径:/OAuth/{appKey}/GrantCode

详细参数请参考 开放授权 - 申请授权码

获取访问令牌

请求方式:POST
请求路径:/OAuth/{appKey}/Authorize

详细参数请参考 开放授权 - 获取access_token

使用访问令牌

获取到访问令牌后,在请求头中添加Authorization字段,格式为:

Authorization: Bearer your-access-token

授权记录管理

  • 查看授权记录GET /OAuth/{appKey}/Consents
  • 删除授权记录DELETE /OAuth/{appKey}/Consents/{id}

认证错误码

错误码 说明
401 未授权,认证失败
403 禁止访问,权限不足
419 认证过期
429 请求过于频繁

评论