访问口令可移植性

本指南讲解了可移植性的一些常见情况,让您可以根据自身需求,使用相应配置来构建应用。

不同应用类型中的口令使用

访问口令具有可移植性。这表示您在获取口令后,即可在任何机器上使用。组合使用网页界面、手机客户端和服务器时,您即可获得诸多不同的可行配置。然而,这些不同的配置在功能和安全方面各有优劣。

配置优点缺点安全说明

在网页客户端登录及发出 API 请求(短期口令)。

易于实现。

不可离线发布。

不可长期访问。

需频繁执行身份验证。

在原生手机客户端或网页客户端登录及发出 API 请求(长期口令)。

无需频繁执行身份验证。

不可离线发布。

在网页客户端登录及发出 API 请求(代码交换后获得的长期口令)。

在某些情况下提供额外安全保障。

难以实现。

不可离线发布。

仅在特定情况下有用。

在原生手机客户端或网页客户端登录。

在服务器发出 API 请求(使用长期口令)。

离线发布。

利用基于服务器的调用添加了可用的安全功能。

客户端必须调用服务器,才能代理所有调用。

所有调用都应使用 appsecret_proof

在原生手机客户端或网页客户端登录。

在服务器或客户端发出 API 请求。

离线发布

用户主动从客户端发布

难以实现

从服务器发出的所有调用都应使用 appsecret_proof

在原生或网页客户端登录并发出 API 请求

这是最简单的配置,身份验证和 API 请求均在客户端执行。此模型提供三种可能的配置:

  1. 原生或网页客户端执行身份验证,并使用返回的短期或长期口令进行调用。
  2. 网页客户端执行身份验证,并通过服务器将短期口令交换为长期口令。此口令被送回网页客户端,然后网页客户端使用该口令进行 API 调用。
  3. 网页客户端执行身份验证,并通过服务器将短期口令交换为长期口令。服务器将代码发送至客户端。客户端将此代码交换为长期口令,并使用该口令进行 API 调用。此配置很少使用。

原生或网页客户端流程

使用长期口令的网页客户端流程

使用代码交换的网页客户端流程

客户端登录与服务器 API 调用

这种配置较常见:身份验证是在客户端执行,但所有 API 调用则由服务器代表客户端执行。服务器可在执行调用时使用 appsecret_proof 参数进一步增强安全性。

客户端登录与客户端或服务器 API 调用

此配置结合使用了上述几种方法。

使用 SDK 设置访问口令

我们可以在 SDK 中通过几种不同的方法指定调用 API 所用的访问口令。