当用户开始与您的企业对话时,您可能希望将对方标识为已拥有您业务帐户的客户。为此,我们创建了一项安全协议,用于绑定和解绑 Messenger 用户身份与在您业务中的用户身份。
通过帐户绑定,您可以邀请用户使用您自己的身份验证流程登录,并在完成时获得 Messenger 公共主页范围编号 (PSID)。之后,您可以向用户提供更加安全、个性化和相关的体验。
用户触发帐户绑定时,Messenger 平台会调用帐户绑定网址。向网址回调附加 redirect_uri
和 account_linking_token
参数。
<yourAccountLinkingUrl> ?account_linking_token=ACCOUNT_LINKING_TOKEN &redirect_uri=CALLBACK_URL
帐户绑定成功后,需要将浏览器重定向至 redirect_uri
参数中指定的网址,并附加您定义的 authorization_code
参数才能完成流程。请注意,网址可能已经包含参数,因此,应相应地附加授权码:
<redirect_uri> &authorization_code=AUTHORIZATION_CODE
如果帐户绑定失败,则应将浏览器重定向至作为参数传递给您的 redirect_uri
,但不附加 authorization_code
。
参数名称 | 描述 |
---|---|
| 将由 Messenger 添加的重定向 URI,您必须在身份验证流程结束时将浏览器重定向至该位置。可能包含网址编码参数。 |
| Messenger 传递的短期口令,您需要将它作为重定向方案的一部分传回。这是一个加密口令,有效期仅为 5 分钟,且每位用户的口令都不同。 |
| 您提供的代码,用于确认成功绑定。Messenger 平台将该代码与用户的 PSID 一起作为帐户绑定 Webhooks 事件传回。未能成功传递这一参数将导致绑定流程中止。 |
成功的绑定流程将触发帐户绑定事件,以便传递用户的公共主页范围编号 (PSID)。
您必须注册帐户绑定回调事件。未确认该 Webhooks 事件将导致绑定流程中止。
在特定情况下,您需要在绑定流程中检索用户公共主页范围编号 (PSID)。为帮助完成这项工作,我们提供 PSID 检索端点,让您能够通过有效且未过期的 account_linking_token
来获取用户的 PSID。
curl -X GET "https://graph.facebook.com/v2.6/me?access_token=PAGE_ACCESS_TOKEN \ &fields=recipient \ &account_linking_token=ACCOUNT_LINKING_TOKEN"
{ "id": "PAGE_ID", "recipient": "PSID" }
在特定情况下,您需要在后端以编程的方式解绑用户公共主页范围编号 (PSID)。为帮助完成这项工作,我们提供 PSID 解绑端点,让您能够通过有效的 PSID 来解绑用户帐户。
curl -X POST -H "Content-Type: application/json" -d '{ "psid":"PSID" }' "https://graph.facebook.com/v2.6/me/unlink_accounts?access_token=PAGE_ACCESS_TOKEN"
{ "result": "unlink account success" }
如果您拥有能够扩展到 Messenger 以外的用户帐户系统,请使用帐户绑定功能。
让用户在 Messenger 内创建帐户,令该帐户适用于其他平台。
在上下文相关,即在智能助手用户可以看到执行相关操作的好处时,提示登录。
考虑用户拒绝登录时智能助手应如何反应。
登录后,提供明确的确认消息及友好的欢迎语。
如果用户仅通过 Messenger 与您互动,请不要使用帐户绑定功能。您可以通过对话编号存储帐户信息。
尽量不要立即要求绑定帐户;让用户先感受一下您的智能助手。