如果启用了 oauth 2.0,fb:login-button 的注册 URL 参数将失败
Posted
技术标签:
【中文标题】如果启用了 oauth 2.0,fb:login-button 的注册 URL 参数将失败【英文标题】:registration-url parameter fails for fb:login-button if oauth 2.0 is enabled 【发布时间】:2011-11-04 10:23:12 【问题描述】:我正在尝试让 Facebook 登录的注册流程正常工作。这是一个简单的例子:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>My Facebook Login Page</title>
</head>
<body>
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<div id="fb-root"></div>
<script type="text/javascript">
FB.init(
appId:'xxxxxxxxxxx',
cookie:true,
status:true,
xfbml:true,
channelUrl : 'http://<myWebSite>/channel.html',
oauth:true
);
</script>
<fb:login-button registration-url="http://<myWebSite>/register"/>
</body>
</html>
(上面我唯一替换的是网站和appID)
如果我这样尝试,登录按钮会显示,但单击它会导致 FireBug 在浏览器日志中报告“未知状态:未定义”。如果我删除'oauth = true'行,它会起作用。我正在尝试遵守新的 oauth 2.0 标准,所以我想保留它。还有其他人遇到过这个吗?看起来如果这是一个错误,它会很早就被发现。
【问题讨论】:
我也看到了这个问题。一旦我删除了 oauth: true 就可以了。 此处提交了一个错误:developers.facebook.com/bugs/223444304375753 可能很笨——你在应用设置中启用了迁移吗? 【参考方案1】:'registration-url' 参数不再支持,请查看它的文档。 http://developers.facebook.com/docs/reference/plugins/login/
只需检查用户是否通过 JS-SDK 登录
【讨论】:
以上是关于如果启用了 oauth 2.0,fb:login-button 的注册 URL 参数将失败的主要内容,如果未能解决你的问题,请参考以下文章
Java中是否有OAuth 2.0 Provider实现? (不是oauth客户)[关闭]
FB.login 如果用户之前连接过应用程序,则区分成功登录和取消
Google OAuth 2.0“错误”:“redirect_uri_mismatch”