跳转到主要内容

基于 PIN 的授权

基于 PIN 的 OAuth 流程是三方 OAuth流程的一种形式,适用于无法在授权后访问或嵌入浏览器以重定向用户的应用。例如,此类应用包括命令行应用、嵌入式系统、游戏主机以及某些类型的移动应用。 基于 PIN 的 OAuth 流程由应用在 request_token 中将 oauth_callback 设置为 oob 来启动。术语 oob 表示带外(out-of-band)OAuth。用户仍需访问 X 进行登录或授权该应用,但在批准访问后不会被自动重定向回应用。相反,他们会看到一个数字 PIN 码,并会收到返回应用并输入该值的指引。
注意: 即使使用基于 PIN 的认证,X App 设置中的 callback_url 仍是必填项。
 

实现基于 PIN 的 OAuth 流程

基于 PIN 的流程与三方授权(以及使用 X 登录)的实现方式相同,但有以下区别:
  1. 在调用 POST oauth/request_token 时,必须将 oauth_callback 的值设置为 oob
  2. 当用户被引导至 X,通过 GET oauth/authenticateGET oauth/authorize 为你的 App 授权后,用户不会被重定向至你的 callback_url,而是会看到一个页面,显示由 X 生成的约 7 位 PIN,并提示将该 PIN 输入到你的应用中。
  3. 用户在你的应用中输入该 PIN,你的应用在调用 POST oauth/access_token 时将此 PIN 作为 oauth_verifier 使用,以获取 access_token
注意: PIN 不可重复使用,且获取的 access_token 应用于应用-用户请求。
I