如何进行 HTTP 基本认证?

最近更新时间:2022-09-20 05:17:40

功能描述

在使用 RESTful API 前,你需要通过 HTTP 基本认证。本文介绍如何使用 anyRTC 提供的客户 ID 和客户密钥生成一个 Credential (使用 Base64 算法编码),并在 HTTP 请求头部的 Authorization 字段中填入该 Credential。

操作步骤

  1. 登录 Console,点击右上角账户名,进入下拉菜单 RESTful API 页面。

  1. 获取Customer ID 和Customer Certificate

客户 ID 和客户密钥仅用于访问 RESTful API,请妥善保管。

  1. 在请求认证的代码中,填入客户 ID(customerId)和客户密钥(customerSecret),生成一个 Credential (使用 Base64 算法编码),并在 HTTP 请求头部的 Authorization 字段中填入该 Credential。请参考下列示例代码:

请在服务端进行 HTTP 基本认证,否则会有数据泄露的风险。

  • PHP

    // 填入客户 ID(customerId)和客户密钥(customerSecret),计算 base64Credentials(使用 Base64 算法编码)。
    $base64Credentials = base64_encode("customerId:customerSecret");
    // 在 HTTP 请求头部的 Authorization 字段中填入 base64Credentials。
    $arr_header = "Authorization: Basic " . $base64Credentials;
    
  • Java

    // 填入客户 ID(customerId)和客户密钥(customerSecret),计算 plainCredentials。
    String plainCredentials = "customerId:customerSecret";
    // 填入 plainCredentials,计算 base64Credentials(使用 Base64 算法编码)。
    String base64Credentials = new String(Base64.encodeBase64(plainCredentials.getBytes()));
    
    Request request = new Request.Builder()
    ...
    // 在 HTTP 请求头部的 Authorization 字段中填入 base64Credentials。
    .addHeader("Authorization", "Basic " + base64Credentials)
    ...
    
  • Swift

    // 填入客户 ID(customerId)和客户密钥(customerSecret),计算 loginString。
    let username = "customerId"
    let password = "customerSecret"
    let loginString = String(format: "%@:%@", username, password)
    // 填入 loginString,计算 loginData。
    let loginData = loginString.data(using: String.Encoding.utf8)!
    // 填入 loginData,计算 base64Credentials(使用 Base64 算法编码)。
    let base64Credentials = loginData.base64EncodedString()
    
    ...
    // 在 HTTP 请求头部的 Authorization 字段中填入 base64Credentials。
    let headers = ["Authorization", "Basic " + base64Credentials]
    ...
    
  1. 认证成功后,你可以使用下列产品的 RESTful API: