【问题标题】:Missing ember-simple-auth authorization header when not using ember-data不使用 ember-data 时缺少 ember-simple-auth 授权标头
【发布时间】:2016-01-14 09:52:39
【问题描述】:

我刚刚升级了我的应用程序以使用 ember-simple-auth 的 jj-abrams 分支(即将成为 1.0)。

当我使用 ember 数据时它工作得很好,但是对于一种路由,我使用 Ember.$.getJSON 直接从服务器检索图表数据。

在这种情况下,请求中缺少授权标头,我猜这是因为它不使用应用程序适配器(因此绕过authorizer: 'authorizer:devise')?

有没有办法手动添加这个标头,或者有更好的方法来发出这个请求?

【问题讨论】:

    标签: ember.js ember-simple-auth


    【解决方案1】:

    当然,您可以只包含会话,那么您应该可以访问凭据并使用您需要的任何内容将这些凭据添加到您的路由器(我假设它使用的是路由器上的 AuthenticatedRouteMixin。

    或者为你的控制器添加:

    session: Ember.inject.service('session')
    

    然后你可以做一个得到:

    this.get('session') 
    

    并检查对象以在其中找到您需要的内容,我相信这将使您在不使用 Ember-Data 的情况下更容易运行。

    【讨论】:

    • 我认为您只能将服务注入控制器而不是路由是否正确?
    • 您可以将会话服务注入任何您想要的东西。您可以调用会话服务的authorize 方法来授权AJAX 请求然后:ember-simple-auth.com/api/classes/…
    • 是的,marcoow,您可以这样做,授权仅将令牌添加到 ajax 调用中,因此您可以使用它来添加标题。这就是我在项目中所做的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多