接口鉴权

无论任何环境,所有的接口请求都需要先经过接口鉴权

1.接口描述

该接口可以用于通过使用uuid和secret获取认证token,Token是系统颁发给的访问令牌,承载用户的身份等信息。调用其他云服务的接口时,可以使用本接口获取用户Token进行鉴权。

接口请求地址:POST v1/auth/getToken

2.输入参数

参数名称 描述 是否必选 类型 Location
uuid 账户ID yes string body
secret appSecret认证密钥 yes string body

3.输出参数

参数名称 描述 类型
token Finovy-Access-Token,请求其他接口必须携带该token进行身份认证 string
effectiveTime 有效时长,单位:毫秒 long

4.示例

示例1:请求成功示例

输入示例

POST v1/auth/getToken / HTTP/1.1
Host: client.xuandashi.com
Content-Type: application/json
<公共请求参数>

{
  "uuid":"A27550582",
  "secret":"9M8Lqh9aiq2cFELYAoqvLH1DMExkFvWEl5dsLOp72JE"
}

输出示例

{
  "code":0,
  "data":{
    "token":"4vL4rcNGNcgx5v0RLCcFew",
    "effectiveTime":1800000
  },
  "msg":"success",
  "success":true,
  "traceId":"xxxxxxxxxxxxxx"
}

5.错误码

详情可查看通用错误码

6.Java请求示例

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main{
    public static void main(String[] args) throws IOException {
        URL url = new URL("https://client.xuandashi.com/v1/auth/getToken");
        HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
        httpConn.setRequestMethod("POST");

        httpConn.setRequestProperty("Content-Type", "application/json");

        httpConn.setDoOutput(true);
        OutputStreamWriter writer = new OutputStreamWriter(httpConn.getOutputStream());
        writer.write("{\"uuid\": \"B94230045\", \"secret\": \"7vIhzkQLKy/w8U9aLvE87foLBhz5LCp622WIoIvDbB4\"}");
        writer.flush();
        writer.close();
        httpConn.getOutputStream().close();

        InputStream responseStream = httpConn.getResponseCode() / 100 == 2
                ? httpConn.getInputStream()
                : httpConn.getErrorStream();
        Scanner s = new Scanner(responseStream).useDelimiter("\\A");
        String response = s.hasNext() ? s.next() : "";
        System.out.println(response);
    }
}