跳转到主要内容
使用“使用 X 登录”(亦称“使用 X 登录/Sign in with X”)可在你的网站或应用中添加一个按钮,让 X 用户几乎只需一次点击即可享受注册账户的各项权益。此功能适用于网站、iOS、移动端和桌面应用程序。

功能

  • 易用——网站的新访客首次登录只需点击两次。
  • 与 X 集成——“使用 X 登录”流程可获得代表你的用户调用 X API 的授权。
  • 基于 OAuth——众多客户端库和示例代码均兼容“使用 X 登录”API。

适用范围

  • 浏览器——如果你的用户可以使用浏览器,你就可以集成“使用 X 登录”。了解浏览器端登录流程。
  • 移动设备——任何可联网的移动设备都可以使用“使用 X 登录”。了解移动端登录流程。

实现“使用 X 登录”

“使用 X 登录”的浏览器和移动网页实现基于 OAuth。本文演示获取用于登录流程的访问令牌所需的请求。 要使用“使用 X 登录”流程,请前往你的 X 应用设置,并确保已启用“允许此应用用于使用 X 登录?”选项。 本文假设你已了解如何使用 OAuth 1.0a 协议为请求签名。若需了解如何为请求签名,请阅读授权请求页面。 如果你想验证本文中请求的签名,所用的 consumer secret 为:L8qq9PZyRg6ieKGEKhZolGC0vJWLw8iEJ88DRdyOg。该值仅供测试,不适用于真实请求。 实现“使用 X 登录”的三个步骤如下:获取请求令牌、重定向用户、将请求令牌兑换为访问令牌。
  • 步骤一
  • 步骤 2
  • 步骤 3

步骤 1:获取请求令牌

要启动登录流程,你的X 应用必须通过向 POST oauth/request_token 发送已签名的消息来获取请求令牌。此请求中唯一的独有参数是 oauth_callback,它必须是你希望用户在完成第 2 步后被重定向到的 URL 的 URL 编码版本。其余参数由 OAuth 签名过程添加。
注意: 你在 POST oauth/request_token 端点中使用的任何回调 URL都必须先在开发者门户中的X 应用设置中注册。
示例请求(Authorization 标头已换行):
POST /oauth/request_token HTTP/1.1
User-Agent: themattharris' HTTP Client
Host: api.x.com
Accept: */*
Authorization:
        OAuth oauth_callback="http%3A%2F%2Flocalhost%2Fsign-in-with-twitter%2F",
              oauth_consumer_key="cChZNFj6T5R0TigYB9yd1w",
              oauth_nonce="ea9ec8429b68d6b77cd5600adbbb0456",
              oauth_signature="F1Li3tvehgcraF8DMJ7OyxO4w9Y%3D",
              oauth_signature_method="HMAC-SHA1",
              oauth_timestamp="1318467427",
              oauth_version="1.0"
你的应用应检查响应的 HTTP 状态码。任何非 200 的值都表示失败。响应正文将包含 oauth_token、oauth_token_secret 和 oauth_callback_confirmed 参数。你的应用应验证 oauth_callback_confirmed 是否为 true,并将另两个值存储起来,以用于后续步骤。示例响应(响应正文已换行显示):
HTTP/1.1 200 OK
Date: Thu, 13 Oct 2011 00:57:06 GMT
Status: 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 146
Pragma: no-cache
Expires: Tue, 31 Mar 1981 05:00:00 GMT
Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Vary: Accept-Encoding
Server: tfe

oauth_token=NPcudxy0yU5T3tBzho7iCotZ3cnetKwcTIRlX0iwRl0&
oauth_token_secret=veNRnAWe6inFuo8o2u8SLLZLjolYDmDP7SzL0YfYI&
oauth_callback_confirmed=true

  • 附加资源
  • 浏览器登录流程
  • 移动端登录流程

使用 X 登录资源

客户端库

X libraries 列出的客户端库将帮助实现“使用 X 登录”。请使用 /oauth/authenticate 端点,如前述步骤所述。

品牌工具包

X 建议你的应用使用官方的 X Brand Toolkit 以确保品牌一致性。请保存这些素材,并在创建“使用 X 登录”按钮时使用。