我已经烧了很多时间试图弄清楚这个 .
我的后端是Rails 4.x和devise_token_auth
要在登录后授权请求,我需要为每个请求发送多个标头,如下所示(已验证使用curl):
curl -X GET -H "Content-Type: application/vnd.api+json" -H "Access-Token: 33YPWz2Kr4eMimYjblDg7w" -H "Client: godv0EDuuc-2qZ6kvrVLzQ" -H "Token-Type: Bearer" -H "Accept: application/vnd.api+json" -H "Uid: example@gmail.com" -H "Expiry: 1459295877" -H "Provider: Email" "http://localhost:3000/api/v1/forms"
关于授权api如何实际工作,我完全迷失了 . 我不知道如何在DeviseAuthorizer#authorize方法中设置多个请求头 .
如果有人知道如何执行此操作并且可以回答问题,我将立即打开拉取请求以修复此区域中的Ember Simple Auth文档 .
1 回答
设计授权者将函数作为第二个参数传递给#authorize .
http://ember-simple-auth.com/api/classes/BaseAuthorizer.html#method_authorize
参数
data:Object会话当前持有的数据
block(headerName,headerContent):Function使用授权数据调用的回调;将收到 Headers 名称和 Headers 内容作为参数
如果要添加自己的 Headers ,可以创建从设计授权程序扩展的授权程序类 . 然后覆盖authorize方法,如下所示:
这是有效的,因为在数据适配器mixin中,它传递了这个函数: