繁体   English   中英

使用Facebook的Web应用程序持久身份验证

[英]Web app persistent authentication with Facebook

我有一个Web应用程序,该应用程序带有一个〜用Facebook登录〜按钮,该按钮是通过PHP SDK实现的。 它照常工作。 用户被重定向到Facebook。 Facebook将其重定向回Web应用程序。 该Web应用程序获取其信息并创建有关它们的数据库记录。

问题是这些登录名不是永久的。 下次同一用户打开Web应用程序时,它将无法识别它们。

我该如何解决?

有几种方法:

  1. 使用类似于普通表单登录名的“记住我” cookie。 为了提高安全性,如果用户相同,您可能需要使用Facebook API进行检查:
    1. 在您的数据库中关联Facebook OAuth令牌和“记住我” cookie令牌。
    2. 当用户使用“记住我的cookie”创建新会话时,您可以(使用客户端代码)检查相应的Facebook令牌是否有效,并且用户仍使用您的应用登录。
  2. 仅存储Facebook令牌客户端(本地存储)。 在随后的会话中,您可以通过Facebook API和存储的令牌检查谁是谁。 但是这种方法比较慢。

无论如何,您都希望将短暂的Facebook访问令牌替换为长期访问令牌 1并将其存储在数据库中。

阅读更多有关访问令牌2的信息

1: https//developers.facebook.com/docs/facebook-login/access-tokens#extending
2: https//www.sammyk.me/access-token-handling-best-practices-in-facebook-php-sdk-v4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM