首页 文章

Ember Torii facebook身份验证无法获取用户电子邮件

提问于
浏览
1

我正在使用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 回答

  • 2

    所以你正在使用oauth2,所以你所得到的只是一个授权令牌 . 使用此令牌,您可以关闭并请求其他信息 . 令牌基本上只是为了加快用户对您的应用程序的验证 .

    如果要获取用户信息,则需要创建另一个方法(可能在服务器端),该方法交换访问令牌的授权代码:like so(或者您可以直接请求访问令牌,这将删除需要服务器端解决方案 .

    使用访问令牌,您可以请求Facebook用户ID,using the debug token endpoint,之后您将可以到达任何 endpoints 以获取所需的信息 .

相关问题