首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ember.js -使用简单身份验证/torii获取访问令牌

ember.js -使用简单身份验证/torii获取访问令牌
EN

Stack Overflow用户
提问于 2016-08-08 10:17:57
回答 1查看 541关注 0票数 0

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

当我像简单的身份验证文档所说的那样登录session.data时,我将获得一个对象,其中包含我的所有数据,包括我的访问令牌。但是,我似乎无法提取访问令牌。我尝试过使用session.data.authenticated来访问对象的下一层,但返回的是一个空对象。如果我试图到达access_token,我得到的是undefined calling session.data.access_token

app/controllers/application.js

代码语言:javascript
复制
    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

代码语言:javascript
复制
    import Ember from 'ember'
    import ToriiAuthenticator from 'ember-simple-auth/authenticators/torii'

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

我怎样才能找到我的访问令牌?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-08 15:48:20

当您登录到控制台时,session.data.authenticated尚未定义。

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

尝试执行以下操作:

代码语言:javascript
复制
this.get('session').authenticate(...).then(() => {
  console.log(this.get('session.data.authenticated'));
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38820450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档