当我学习如何将Facebook身份验证集成到ASP.NET MVC应用程序中时,我编写了一个代码,该代码使用会话状态来存储通过Facebook JS SDK获取的access_token。只要java脚本代码具有访问令牌,就会将其发布到特殊的控制器操作上,并将其存储在会话字典中。
我想避免使用Session,但仍然可以使用访问令牌来检索用户信息。将它存储在非永久性cookie中是否安全?效果是否相同?
答案 0 :(得分:0)
您可能会感兴趣的是官方PHP SDK将访问令牌存储在会话中,或存储在Cookie中的signed_request
中。但是,使用 app secret 加密signed_request
,这比存储未加密的访问令牌更安全。
https://github.com/facebook/facebook-php-sdk/tree/master/src
此外,这里是关于cookie与会话安全性的stackoverflow的前一个讨论: Do i login using cookies or sessions in a login system?
如果您愿意,您可以创建自己的加密签名请求,但不要从您的客户端那样做(因为它需要将密码存储在您的客户端)。有关更多信息,请参阅PHP SDK和/或链接: https://developers.facebook.com/docs/authentication/signed_request/