1

简短的问题是:我如何使用图形 api oauth 重定向机制来验证用户并保存检索到的 access_token 并在需要时使用 javascript SDK(问题是 javascript SDK 在初始化时会有不同的 access_token)。

我最初设置了我的 facebook iframe 画布应用程序,单点登录。这适用于图形 api,因为当它检测到 sessionchange(用户登录)时,我可以使用 facebook 的 javascript 保存的 access_token。

但是,我不想做单点登录。但是,使用图形 api 重定向并强制用户发送到权限对话框。但是,如果他已经授予权限,我不应该重定向用户。如何处理?

另一个问题:我已经完成了图形 api 重定向以进行身份​​验证,并且还检索了 access_token。但是,如果我想使用javascript调用FB.ui来做stream.Publish呢?我认为它将使用它自己的 access_token,它是在 FB.init 和检测会话期间设置的。所以,我在这里寻找一些路径。如何使用图形 api 进行身份验证,并在需要时使用 facebook 的 javascript SDK。

PS我正在使用ASP .NET MVC 2。我开发了一个身份验证过滤器,它需要检测用户的身份验证状态并重定向。(目前它这样做是为了绘制api授权url)

4

1 回答 1

1

我一直在为名为FBGraph.NET的 Graph API 开发一个 .NET 客户端。我还没有足够的时间让它进入发布状态,但是您仍然应该能够直接使用现有代码或作为您尝试执行的操作的参考。

具体来说,FBFraphAuthorizeAttributeFBGraphAuthenticationHelperFBGraphAuthorizationHelper

身份验证/授权系统设置为与 ASP.NET Forms 身份验证分开,因此您可以将它们分开,或者您可以使用 FBGraph Facebook 授权作为 Forms auth 的直接替代品。如果用户尚未授予权限,它将自动重定向用户并提示授权/扩展权限。

我还没有任何东西可以帮助在服务器端代码和 JS SDK 之间工作,但我认为访问令牌应该是可互换的。如果您最终按原样使用客户端,则应该能够在 IFacebookContext 上设置任何令牌,并反过来将生成的访问令牌服务器端传递给客户端。

于 2010-06-21T02:58:28.090 回答