由于项目需求,需要用到facebook登录。facebook目前官方文档中,支持的是js调用faceboook sdk进行登录、注册等一系列操作,但是这里会吧facebook的APPID以及访问密钥放入前端,造成应用安全性问题,所以我们在后端进行这些逻辑的调用,会使安全性提升。
1、首先需要注册一个facebook开发者账号
关于facebook账号注册,目前国内我暂时没有找到好的方法,因为账号注册号后,使用网络工具进行登录时,会被facebook官方检测到ip异常,导致封号。所以建议使用香港服务器(或者任意海外服务器)进行该操作。比较麻烦。
2、账号注册好,去创建应用。
3、应用创建好,会给你应用的APPID和一串密钥。记住这两个东西,后面会用到。

因为网页使用了谷歌翻译,所以有些名词可能会不准确。这里的程序应用域即应用域名,应用域名可以随便写一个,然后配置到host文件中即可。
(host文件在 C:WindowsSystem32driversetc 这里)
4、然后找到facebook登入

如图,将本页面设置为图中样式,然后配置你写的facebook登录成功后的回调地址。(这里的回调地址是你自己项目中的地址)
到这里facebook开发者配置基本就完成了。后面就需要调用facebook api,和编写自己的业务逻辑了。
这里贴上代码:
Controller层代码:
@UnAuth
Controller层这里的逻辑,主要就是前端调用facebook登录页面,用户进行facebook登录,登录成功后会返回一串Json:
{
这里其实只需要密钥和用户id即可,其他字段根据业务需求进行改动。
拿到密钥后,后端使用HTTPClient进行facebook api 调用,根据密钥和id拿到用户的相关信息,facebook相关信息返回如下:
{
这里可以自己设置facebook返回的用户数据。
后端设计表时最好设计一个用户关联表,用于关联自己应用的用户信息与facebook用户信息。
Service层代码:
/**
实现类:
@Override
HttpClientUtil类:
package
到这里facebook的登录的功能基本上就已经完成了,最后,一定要切记,facebook登录时一定不要使用网络工具进行登录访问,否者基本上号是一定会被封掉的。
















