【问题标题】:ember.js - getting access token using simple auth/toriiember.js - 使用简单的 auth/torii 获取访问令牌
【发布时间】:2016-08-08 02:17:57
【问题描述】:

我在 Spotify 中使用 ember.js、simple auth 和 torii 进行 oauth。我目前可以很好地登录和注销,查看资源我可以看到我从 Spotify 获得了访问令牌。

当我按照简单的身份验证文档所说的那样记录session.data 时,我得到了一个包含我所有数据的对象,包括我的访问令牌。但是,我似乎无法取出该访问令牌。我试过session.data.authenticated 来访问对象的下一级,但这会返回一个空对象。如果我尝试访问access_token,我会得到undefined calling session.data.access_token

app/controllers/application.js:

    import Ember from 'ember'

    export default Ember.Controller.extend({
      session: Ember.inject.service('session'),

      actions: {

        login () {
          this.get('session').authenticate('authenticator:torii', 'spotify-oauth2-bearer')
          console.log(this.get('session.data'))
        },

        logout () { this.get('session').invalidate() }
      } 

    })

app/authenticators/torii.js:

    import Ember from 'ember'
    import ToriiAuthenticator from 'ember-simple-auth/authenticators/torii'

    export default ToriiAuthenticator.extend({ torii: Ember.inject.service() })

如何获取我的访问令牌?

【问题讨论】:

    标签: javascript ember.js ember-simple-auth torii


    【解决方案1】:

    session.data.authenticated 在您登录控制台时未定义。

    this.get('session').authenticate(...) 是异步的并返回一个承诺。通过在调用后立即登录控制台,身份验证可能尚未完成。

    尝试做:

    this.get('session').authenticate(...).then(() => {
      console.log(this.get('session.data.authenticated'));
    });
    

    【讨论】:

      猜你喜欢
      • 2014-07-08
      • 2017-12-07
      • 2014-08-04
      • 2013-08-17
      • 1970-01-01
      • 2017-11-16
      • 2022-06-19
      • 1970-01-01
      • 2015-07-19
      相关资源
      最近更新 更多