本指南讲解了可移植性的一些常见情况,让您可以根据自身需求,使用相应配置来构建应用。
访问口令具有可移植性。这表示您在获取口令后,即可在任何机器上使用。组合使用网页界面、手机客户端和服务器时,您即可获得诸多不同的可行配置。然而,这些不同的配置在功能和安全方面各有优劣。
配置 | 优点 | 缺点 | 安全说明 |
---|---|---|---|
在网页客户端登录及发出 API 请求(短期口令)。 | 易于实现。 | 不可离线发布。 不可长期访问。 需频繁执行身份验证。 | |
在原生手机客户端或网页客户端登录及发出 API 请求(长期口令)。 | 无需频繁执行身份验证。 | 不可离线发布。 | |
在网页客户端登录及发出 API 请求(代码交换后获得的长期口令)。 | 在某些情况下提供额外安全保障。 | 难以实现。 不可离线发布。 | 仅在特定情况下有用。 |
在原生手机客户端或网页客户端登录。 在服务器发出 API 请求(使用长期口令)。 | 离线发布。 利用基于服务器的调用添加了可用的安全功能。 | 客户端必须调用服务器,才能代理所有调用。 | 所有调用都应使用 |
在原生手机客户端或网页客户端登录。 在服务器或客户端发出 API 请求。 | 离线发布 用户主动从客户端发布 | 难以实现 | 从服务器发出的所有调用都应使用 |
这是最简单的配置,身份验证和 API 请求均在客户端执行。此模型提供三种可能的配置:
这种配置较常见:身份验证是在客户端执行,但所有 API 调用则由服务器代表客户端执行。服务器可在执行调用时使用 appsecret_proof
参数进一步增强安全性。
此配置结合使用了上述几种方法。
我们可以在 SDK 中通过几种不同的方法指定调用 API 所用的访问口令。
setCurrentAccessToken
方法具有 accessToken
参数。setCurrentAccessToken
方法具有 token
参数。FB.api()
方法具有 access_token
参数。