gpt4 book ai didi

asp.net - 在 ASP.NET : Session, Cookie 或身份中存储 Facebook 信息?

转载 作者:行者123 更新时间:2023-12-02 15:07:36 26 4
gpt4 key购买 nike

那么,简单的问题:

用户授权我的应用程序 (OAuth 2.0) 后,我调用 Facebook Graph API 来获取他们的详细信息。

此时,我拥有他们的 Facebook ID、API 调用的访问 token 、他们的电子邮件以及其他一些基本信息。

我正在开发一个 ASP.NET MVC 3 Web 应用程序,它使用表单例份验证和自定义票证来存储额外数据。

我见过的很多例子都显示了将信息存储在 session 中。

这明智吗?因为我正在研究单点登录(例如,用户可以使用 Facebook Connect“登录”到我的网站),所以如果他们已经登录到我的网站,我只会真正“关心”他们的 Facebook 信息。

考虑到这一点 - 我想知道是否值得将信息分离到不同的持久性机制中。

例如,由于 Facebook ID 不会更改,我可以将其存储在表单例份验证票证中,并且可能将访问 token 存储在 cookie 中,并将过期时间设置为 HTTP 响应中收到的过期时间。

人们如何在 ASP.NET(MVC - 但不具体限于)应用程序中存储 Facebook 信息?

最佳答案

不要在 session 中存储 Facebook 信息。 javascript SDK 会为您保存一个名为 fbsr_APP_ID 的特殊 cookie 以及一个signed_request,以便您可以验证对服务器的所有请求并获取必要的信息。您可以执行从 javascript API 到 facebook 的大多数 API 调用。

如果用户使用 FB.getLoginStatus 登录,您随时可以在应用的任何页面上进行检查
https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

如果用户未登录,可以使用FB.login登录:https://developers.facebook.com/docs/reference/javascript/FB.login/

在 session 中存储信息不具备可扩展性。它需要服务器上的内存等。

希望这有帮助

编辑:只是补充一下:不要在任何持久存储中存储除 uid 和访问 token 之外的任何信息,例如来自图形 API“me”的基本信息可能存储在数据库中。为了满足 UI 的需要,可以借助 XFBML 标签和 url 等在 UI 中构建名称和图片等基本内容。Javascript API 还负责保存带有signed_request 的 cookie,该 cookie 可以在服务器上进行验证。

关于asp.net - 在 ASP.NET : Session, Cookie 或身份中存储 Facebook 信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7629922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com