首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ember-simple-auth oauth2授权程序问题

ember-simple-auth oauth2授权程序问题
EN

Stack Overflow用户
提问于 2014-04-15 23:02:04
回答 1查看 1.2K关注 0票数 0

我正在尝试在Node.js服务器上运行的Ember应用程序上设置授权。

我使用的是oauth2身份验证器,它向服务器请求令牌。这工作得很好。我可以为应用程序提供一个令牌,它将其保存在本地存储中。

但是,当我进行后续请求时,授权器没有将令牌添加到标头中,我已经使用文档(http://ember-simple-auth.simplabs.com/ember-simple-auth-oauth2-api-docs.html)中描述的方法初始化了授权器:

代码语言:javascript
复制
Ember.Application.initializer({
  name: 'authentication',
  initialize: function(container, application) {
    Ember.SimpleAuth.setup(container, application, {
        authorizerFactory: 'authorizer:oauth2-bearer'
    });
  }
});

var App = Ember.Application.create();

我已经向Authorizer添加了一个init方法,以便在服务器初始化时将消息记录到服务器,这样我就知道它正在被加载。唯一的问题是,授权器的authorize方法从未被调用过。

我感觉我遗漏了这个库的一个基本概念。

我有一个使用AuthenticatedRouteMixin保护的用户路由,如下所示:

代码语言:javascript
复制
App.UsersRoute = Ember.Route.extend(Ember.SimpleAuth.AuthenticatedRouteMixin, {
  model: function() {
    return this.get('store').find('user');
  }
});

如果会话中没有令牌,但请求头不包含令牌,则将获取数据,并将其重定向到/login:

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

如果您能给我任何帮助,我们将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2014-04-15 23:19:51

你的REST API是不是在一个不同的来源,而不是应用程序从可能加载?默认情况下,Ember.SimpleAuth不会授权跨域请求(参见:https://github.com/simplabs/ember-simple-auth#cross-origin-authorization)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23087552

复制
相关文章

相似问题

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