![](/img/trans.png)
[英]Workflow for Ember-simple-auth, Torii and Facebook 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.