我发现这个问题 ,有一个答案,但Facebook从那时起改变了令牌格式,现在它是这样的: AAACEdEose0cBACgUMGMCRi9qVbqO3u7mdATQzg[more funny letters]ig8b3uss9WrhGZBYjr20rnJu263BAZDZD 总之,你不能从中推断出任何东西。 我还发现访问令牌debugging器 ,它显示了我正在寻找的信息,如果你粘贴一个令牌,这是很好的,但不帮助我以编程方式。 要点是,如果有人为用户获得一个令牌,他可以使用它来访问graphics,这就是我的应用程序 – 我想确保人们正在转发我的应用程序发给他们的令牌,而不是另一个。 我的申请stream程是: 从facebook获取访问令牌(没有什么特别的,就像在这里描述的那样,服务器端的stream程(也是iPhone和Android和使用,但如果我没有记错,它们有相似的stream程)) [设备] < – > [脸谱] 使用该访问令牌,设备将使用令牌访问我的应用程序服务器 [设备] < – > [乔纳森的申请] 在我的服务器上,我将访问令牌附加到用户,并使用它来为我的应用程序中的该用户授予权限。 (使用Facebook连接来validation用户) 我的应用程序是安全的,并且访问完成也是authentication无论Facebook,但! 在这个stream程中,我确定的一个薄弱环节是,我无法确认我获得的访问令牌是否为我的应用程序签名 – 我不喜欢它,因为我将令牌caching为脱机使用,我想100%确定他们是我的应用程序,与我的权限。 那么什么是最好的方式来validation我得到的令牌与我的应用程序(与用户的关系,我使用令牌来访问/我看看这个令牌是哪个用户) 我不需要解密令牌(我想它是某种AES),我只是在寻找一个端点,告诉我这个令牌与我的应用程序ID匹配。 (编辑:使用C#SDK,如果它很重要..但图/rest电话给这个信息是一样好:))
我想为我的Facebook OAuth2集成提供dynamicredirecturl。 例如,如果我的redirecturl是在我的Facebook应用程序中: http://www.mysite.com/oauth_callback?foo=bar 我想要一个特定的请求的redirectURL是这样的,所以在服务器上,我有一些关于如何处理authentication代码的上下文: http://www.mysite.com/oauth_callback?foo=bar&user=6234 在授权对话框提交后,我的redirect被调用,我得到一个authentication代码,但是当我尝试获取我的访问令牌时,我得到一个来自Facebook的OAuthException错误。 我的请求看起来像这样(为了清楚起见添加了换行符): https://graph.facebook.com/oauth/access_token ?CLIENT_ID = MY_CLIENT_ID &REDIRECT_URI = HTTP%3A%2F%2Fwww.mysite.com%2Foauth_callback%3Ffoo%3Dbar%26user%3D6234 &client_secret = MY_SECRET &代码= RECEIVED_CODE 我的所有参数都是URL编码的,代码看起来有效,所以我唯一的猜测是问题参数是我的redirect_uri。 我已经尝试设置redirect_uri以下所有,无济于事: 请求到我的网站的实际url 请求到我的网站的URL,减去code参数 在我的Facebook应用程序的configuration中指定的URL 是否支持自定义redirectURI参数? 如果是这样,我指定他们正确吗? 如果没有,我会被迫设置一个cookie,或者是否有一些更好的模式为我的网站提供上下文?
我有一个小的,恐龙时代的命令行界面(CLI)的Facebook的应用程序。 没有一个庞大的用户基础,但它有它的利基。 其最无私的用法是由那些部分失明的人依靠其他基于文本的命令行界面。 它确实是一个“桌面应用程序”,没有浏览器界面,也没有办法在应用程序中embedded浏览器。 它使用PHP CLI以PHP编写,并托pipe在github上。 [获取更新信息的testing版分支]。 我显然有点担心删除offline_access 。 我将我的希望寄托在待决的“设备login”上,真的希望在他们翻转交换机以删除offline_access之前准备就绪,但似乎并非如此。 我无法find任何来自Facebook的信息,指示“设备login”何时可用。 我暗中希望FB开发团队的某个人能够看到这一点,并把我作为一个早期的采用者。 目前,我将用户发送到非常古老的“一次性login”页面: www.facebook.com/code_gen.php?v=1.0&api_key=XXX ,它为用户提供了一个临时的授权代码,可以用来获取更旧的会话键 – 然后我可以使用graph.facebook.com/oauth/exchange_sessions获得一个新的OAuth会话。 所以我希望Facebook上的某个人能够在“设备login”出现的时候说明问题,或者我应该使用更好的方法。 现在,我所拥有的最佳解决scheme就是托pipe一些页面,向用户展示他们的oauth会话信息,然后让用户将其作为命令行参数剪切并粘贴到我的应用程序中。 我想避免这种做法 – 尤其是因为现在看起来他们必须定期(每60天)做一次。