php – 使用OAuth 2.0登录Facebook
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 使用OAuth 2.0登录Facebook,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1883字,纯文字阅读大概需要3分钟。
内容图文
>我希望人们使用他们的Facebook帐户登录我的网站.
>我需要从他们的Facebook个人资料中提取一些信息并将其添加到我网站的数据库中
我尝试使用OAuth 2.0方法,该方法重定向到此网址
https://www.facebook.com/dialog/oauth?
client_id=YOUR_APP_ID
&redirect_uri=YOUR_REDIRECT_URI
&scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES
&state=SOME_ARBITRARY_BUT_UNIQUE_STRING
我成功验证了用户,但现在出现了主要问题.如何访问作为响应发送的数据我所能看到的是一个名为code的GET变量和一些长文本.如何转换为可用数据?
我在我的网站上使用php
解决方法:
交换用户访问令牌的代码
一旦用户授权您的应用程序,您应该发出服务器端请求以交换上面返回的用户访问令牌代码.
https://graph.facebook.com/oauth/access_token?
client_id=YOUR_APP_ID
&redirect_uri=YOUR_REDIRECT_URI
&client_secret=YOUR_APP_SECRET
&code=CODE_GENERATED_BY_FACEBOOK
client_secret参数必须是应用程序设置中显示的App Secret.对此请求的响应正文将是以下形式的url编码字符串:
access_token=USER_ACESS_TOKEN&expires=NUMBER_OF_SECONDS_UNTIL_TOKEN_EXPIRES
您应该解析此字符串并使用access_token值向Graph API发出请求.您还应该在数据库中保留访问令牌,以便进一步请求API,而无需重新验证用户身份.
达到访问令牌到期时间后,令牌将变为无效,并且不能再用于对API的请求.要获取新的用户访问令牌,您必须再次通过此流程.但是,如果用户没有取消对您的应用程序的授权,并且您要求的权限超出了用户已经授予您的应用程序的权限,那么将不会显示任何对话框,并且用户将被透明地重定向到您的redirect_uri,其中包含新的代码,可以换成新的用户访问令牌.
如果在交换用户访问令牌的代码时出现问题,授权服务器将发出HTTP 400并将错误作为JSON对象返回到响应正文中:
{
"error": {
"type": "OAuthException",
"message": "Error validating verification code."
}
}
如需进一步参考,请查看http://developers.facebook.com/docs/authentication/server-side/
向Graph API发出请求
使用有效的用户访问令牌,您可以发出从Graph API读取和写入数据的请求.常见的第一个请求是获取刚认证您的应用的用户的基本信息(包括ID和名称):
https://graph.facebook.com/me?access_token=YOUR_USER_ACCESS_TOKEN
内容总结
以上是互联网集市为您收集整理的php – 使用OAuth 2.0登录Facebook全部内容,希望文章能够帮你解决php – 使用OAuth 2.0登录Facebook所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。