Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Authentication Ember.js REST验证头文件_Authentication_Ember.js_Token - Fatal编程技术网

Authentication Ember.js REST验证头文件

Authentication Ember.js REST验证头文件,authentication,ember.js,token,Authentication,Ember.js,Token,我已经为此挣扎太久了。我有一个Expressjs服务器,它提供了登录的端点。我得到的响应有一个JWT令牌,一小时后过期。一切都好 在Emberjs方面,我可以成功地进行身份验证并获取令牌(使用ember simple auth和ember simple auth令牌)。这对保护我的路线很有效。但我无法在我的一生中更新RESTAdapter头以包含我的新授权令牌 我试过: 使用$.ajaxPrefilter设置授权标头。没用 从RESTAdapter访问“this.get('session.se

我已经为此挣扎太久了。我有一个Expressjs服务器,它提供了登录的端点。我得到的响应有一个JWT令牌,一小时后过期。一切都好

在Emberjs方面,我可以成功地进行身份验证并获取令牌(使用ember simple auth和ember simple auth令牌)。这对保护我的路线很有效。但我无法在我的一生中更新RESTAdapter头以包含我的新授权令牌

我试过:

  • 使用$.ajaxPrefilter设置授权标头。没用
  • 从RESTAdapter访问“this.get('session.secure.token')”。这是未定义的
请,如果有人能给我指出正确的方向,我将永远感激。我需要做的就是将“session.secure.token”中的值附加到所有RESTAdapter请求的头中


谢谢

您应该能够将简单身份验证配置属性
authorizer
设置为
simple auth authorizer:token
——在简单身份验证代码中,它会查找此配置属性,查找
simple auth authorizer:token
,并将其与
ajaxPrefilter
结合使用

// config/environment.js
ENV['simple-auth'] = {
  authorizer: 'simple-auth-authorizer:token'
};

我用过这个。简单身份验证按预期工作,但标题除外。我甚至设置了
ENV['simple-auth-token']={
authorizationHeaderName:'Authorization',
,但RESTAdapter(或任何jQuery ajax请求)没有hat头…我将api服务器添加到crossOriginWhitelist中,因为它没有设置,而是在执行REST请求时,而不是未经授权的响应(如上所述),它似乎使会话无效。Ember Simple Auth会自动处理401个响应,并在出现响应时使会话无效(至少如果您使用的是
ApplicationRouteMixin
)。您可以通过覆盖应用程序路由中的“authorizationFailed”方法来更改该行为。Ah解释了其重定向的原因。但它不应该无效,因为我刚刚登录。因此,由于某些原因,无法发送auth标头。我将启动一个新项目,看看是否有新的功能。