【问题标题】:Ember Torii facebook authentication not able to get user emailEmber Torii facebook 身份验证无法获取用户电子邮件
【发布时间】:2015-01-13 08:34:30
【问题描述】:

我正在使用 Ember CLI + ember simple auth torii link

从 Facebook 获取我的 ember 应用的身份验证代码。

这是我的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 应用会获得一个令牌。

如何获取 用户的电子邮件 ID 以及此令牌? 有没有人遇到过类似的问题?

【问题讨论】:

    标签: facebook authentication ember.js ember-simple-auth


    【解决方案1】:

    所以您使用的是 oauth2,所以您将得到的只是一个授权令牌。有了这个令牌,您就可以离开并请求其他信息。令牌基本上只是为了加快用户对您的应用程序的验证。

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

    然后您可以使用访问令牌请求 Facebook 用户 ID using the debug token endpoint,然后您将能够访问任何端点以获取所需的信息。

    【讨论】:

      猜你喜欢
      • 2019-05-01
      • 1970-01-01
      • 2016-10-15
      • 2019-06-25
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 2016-01-27
      • 2020-01-07
      相关资源
      最近更新 更多