Ember 简单验证 + 设计抛出 405
Ember Simple Auth + Devise throws 405
我使用的堆栈包括 Rails 和 Grape(用于 API 东西)和 Devise(用于用户东西),以及 Ember 和 Ember CLI和 Ember 简单验证。我想使用 Simple Auth 公开的 DeviseAuthenticator 来实现授权。我的登录控制器如下所示:
// app/controllers/login.js
import Ember from 'ember'
export default Ember.Controller.extend({
session: Ember.inject.service('session'),
actions: {
authenticate () {
let {identification, password} = this.getProperties('identification', 'password')
this.get('session').authenticate('authenticator:devise', identification, password).catch(reason => {
console.log(reason.error || reason)
})
}
}
})
和我的 Devise 身份验证器设置:
// app/authenticators/devise.js
import Devise from 'ember-simple-auth/authenticators/devise'
export default Devise.extend({
serverTokenEndpoint: 'http://localhost:4200/api/v1/users/sign_in',
resourceName: 'user',
crossOriginWhiteList: ['http://localhost:4200/']
})
出于开发目的,我在我的 Grape 配置中注释掉了 error! "401 Unauthorized", 401 unless authenticated
部分(不过这是另一个问题)只是为了看看它是否有效,但它抛出了这个:
POST http://localhost:4200/api/v1/users/sign_in 405 (Method Not Allowed)
我不知道该怎么做,因此希望得到一些帮助。如果我可以 post 来自其他文件的更多代码,我很乐意告诉我。
发现我的设计路线在/users/sign_in
,而不是/api/v1/users/sign_in
。
我使用的堆栈包括 Rails 和 Grape(用于 API 东西)和 Devise(用于用户东西),以及 Ember 和 Ember CLI和 Ember 简单验证。我想使用 Simple Auth 公开的 DeviseAuthenticator 来实现授权。我的登录控制器如下所示:
// app/controllers/login.js
import Ember from 'ember'
export default Ember.Controller.extend({
session: Ember.inject.service('session'),
actions: {
authenticate () {
let {identification, password} = this.getProperties('identification', 'password')
this.get('session').authenticate('authenticator:devise', identification, password).catch(reason => {
console.log(reason.error || reason)
})
}
}
})
和我的 Devise 身份验证器设置:
// app/authenticators/devise.js
import Devise from 'ember-simple-auth/authenticators/devise'
export default Devise.extend({
serverTokenEndpoint: 'http://localhost:4200/api/v1/users/sign_in',
resourceName: 'user',
crossOriginWhiteList: ['http://localhost:4200/']
})
出于开发目的,我在我的 Grape 配置中注释掉了 error! "401 Unauthorized", 401 unless authenticated
部分(不过这是另一个问题)只是为了看看它是否有效,但它抛出了这个:
POST http://localhost:4200/api/v1/users/sign_in 405 (Method Not Allowed)
我不知道该怎么做,因此希望得到一些帮助。如果我可以 post 来自其他文件的更多代码,我很乐意告诉我。
发现我的设计路线在/users/sign_in
,而不是/api/v1/users/sign_in
。