我正在使用Ember CLI ember简单的auth torii link
从我的ember应用程序获取Facebook的身份验证代码 .
这是我的 environment.js
文件
ENV['torii'] = {
providers: {
'facebook-oauth2': {
apiKey: '865549306850377',
scope: 'email',
//redirectUri: window.document.location.href
redirectUri: 'http://localhost:4200/'
}
}
};
我的登录控制器看起来像这样 -
facebook: function() {
var _this = this;
this.get('session').authenticate('simple-auth-authenticator:torii', 'facebook-oauth2').then(function(data){
console.log("status - ", _this.get('session'));
});
}
和login.hbs -
<li><button {{action "facebook" "facebook-oauth2"}}>Facebook OAuth2</button></li>
用户点击链接后,会打开一个facebook弹出窗口,并且ember app会获得一个令牌 .
如何获得 user's email id 以及此令牌?有人遇到过类似的问题吗?
1 回答
所以你正在使用oauth2,所以你所得到的只是一个授权令牌 . 使用此令牌,您可以关闭并请求其他信息 . 令牌基本上只是为了加快用户对您的应用程序的验证 .
如果要获取用户信息,则需要创建另一个方法(可能在服务器端),该方法交换访问令牌的授权代码:like so(或者您可以直接请求访问令牌,这将删除需要服务器端解决方案 .
使用访问令牌,您可以请求Facebook用户ID,using the debug token endpoint,之后您将可以到达任何 endpoints 以获取所需的信息 .