http://passportjs.org/
passport 为简化 OAuth 编写而生的一个 nodejs 中间件(这里OAuth请查阅百科http://baike.baidu.com/item/oAuth,简单说,就是使用第三方账号在其他应用进行登陆,例如使用qq账号登陆游戏)
这里使用了一个passport的实例
https://github.com/strongloop/loopback-example-passport
这个例子中默认配置的第三方登陆平台有facebook,google和twitter,都是需要翻墙的,这里我经过修改配置了github的第三方授权,免于翻墙,便于学习。
项目的github位置
https://github.com/strongloop/loopback-example-passport
-
首先确保服务器安装了node.js(同时最好使用linux系统)
-
克隆github项目到本地
-
完成安装后,先配置github的第三方授权相关的信息
配置位置:https://github.com/settings/applications/new
配置完成后得到(Client ID 和 Client Secret)
-
配置安装好的项目(进入loopback-example-passport文件夹中)
1.创建一份providers.json(否则启动则报错)
cp providers.json.template providers.json
2.修改providers.json
vi providers.json
基本就是将内容全部删除到剩下local和facebook-login,然后修改facebook-login为github-login,并且将C中得到的client id 和 client secret填入指定位置
-
修改登陆页内容
vi server/views/pages/login.jade
这里有一个比较奇葩的点是,不能使用tab,同时缩进用空格,并且缩进位置要一致,不然启动会报错。
-
启动
slc run
-
-
打开浏览器查看效果
-
Over
-