簡體   English   中英

ember-simple-auth oauth2授權者問題

[英]ember-simple-auth oauth2 authorizer issue

我正在嘗試在Node.js服務器上運行的Ember App上設置授權。

我正在使用oauth2 Authenticator,它正在從服務器請求令牌。 一切正常。 我可以為應用提供令牌,並將其保存在本地存儲中。

但是,當我發出后續請求時,授權者未將令牌添加到標頭中,而是使用文檔( http://ember-simple-auth.simplabs.com/ember-simple- auth-oauth2-api-docs.html ):

Ember.Application.initializer({
  name: 'authentication',
  initialize: function(container, application) {
    Ember.SimpleAuth.setup(container, application, {
        authorizerFactory: 'authorizer:oauth2-bearer'
    });
  }
});

var App = Ember.Application.create();

並且我在授權程序中添加了一個init方法,以便在初始化消息時將消息記錄到服務器,因此我知道該消息正在加載。 唯一的事情是,永遠不會調用授權者的authorize方法。

感覺上好像我缺少圖書館的基本概念。

我有一個使用AuthenticatedRouteMixin保護的用戶路由,如下所示:

App.UsersRoute = Ember.Route.extend(Ember.SimpleAuth.AuthenticatedRouteMixin, {
  model: function() {
    return this.get('store').find('user');
  }
});

如果會話中沒有令牌,則可以正常獲取數據並重定向到/ login,但是請求標頭不包含令牌:

GET /users HTTP/1.1
Host: *****
Connection: keep-alive
Cache-Control: no-cache
Pragma: no-cache
Accept: application/json, text/javascript, */*; q=0.01
Origin: *****
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36
Referer: *****
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8

您能給我的任何幫助將不勝感激。

您的REST API的來源是否不同於應用加載的來源? 默認情況下,Ember.SimpleAuth不會授權跨源請求(請參閱此處: https : //github.com/simplabs/ember-simple-auth#cross-origin-authorization

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM