热门包
-
-
juanvladimir13/package-skeleton
PHP 包骨架
-
-
PHP
iggyvolz/x11
-
-
-
-
PHP
daphascomp/daphascompsms
## 认证请求必须对我们的 API 进行认证,有两种方式可以实现:1. 使用您的 API apiUsername 和 apiPassword 进行认证 - `基本认证` 2. 使用认证令牌进行认证 - `Bearer 令牌` ## 方法 1:基本认证 基本认证是一种方法,HTTP 用户代理(例如,网页浏览器)在发出请求时提供 apiUsername 和 apiPassword。当使用基本认证时,用户在发出的每个请求的 `Authorization` 标头中包含一个编码字符串。该字符串由请求的接收方用于验证用户的身份和访问资源的权利。`Authorization` 标头的格式如下:> Authorization: Basic base64(apiUsername:apiPassword) 如果您的 apiUsername 和 apiPassword 分别为 `onfon` 和 `!@pas123`,则组合为 `onfon:!@pas123`,当进行 base64 编码时,这成为 `b25mb246IUBwYXMxMjM=`。因此,该用户发出的请求将带有以下头:> Authorization: Basic b25mb246IUBwYXMxMjM= | 描述 | | ---------------------------------------------------------------------------------------------- | | **apiUsername** `String` `必需` <br> 从门户获取的您的 onfon 账户 apiUsername | | **apiPassword** `String` `必需` <br> 从门户获取的您的 onfon 账户 apiPassword | ## 方法 2:Bearer 令牌 此认证策略允许您使用将在给定持续时间后过期的 JSON Web Token `JWT` 进行认证。每个访问令牌都是一个 `JWT`,一个包含三个部分的编码 JSON 对象:`header`、`payload` 和 `signature`。以下是一个为 Conversations 生成的示例访问令牌:> Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c ### 获取令牌 要生成令牌,请向 `/v1/authorization` 端点发出一个包含您的 `apiUsername` 和 `apiPassword` 的 `POST` 请求。此请求应从您的服务器发出,而不仅仅是从客户端(例如浏览器或移动环境)发出。您将收到一个类似以下的 JSON:`{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c", "validDurationSeconds": 3600 }` 您可以使用收到的令牌进行 API 调用。令牌将在 `validDurationSeconds` 的值之前有效,在此期间您应生成新的令牌。#### 请求体```{ "apiUsername": "root", "apiPassword": "hakty11" }```#### 响应体```{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c", "validDurationSeconds": 3600 }```#### 示例 Curl```curl --location --request POST 'https://apis.onfonmedia.co.ke/v1/authorization' \ --data-raw '{ "apiUsername": "correctapiUsername", "apiPassword": "correctapiPassword" } ```#### 发起 API 请求 当调用其他端点时,您需要在 `Authorization` 标头中传递令牌,并使用 `Bearer` 前缀。示例 `Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c`
-
-
-
-
-
-