使用 devise_token_auth 和表单验证
Using devise_token_auth with form auth
我正在尝试允许在移动设备上使用令牌进行身份验证,同时仍将网络表单用于网络应用程序。我决定使用 devise_token_auth。每当我尝试启动应用程序时,我都会收到错误消息,因为已经定义了会话路径。
错误
ArgumentError: Invalid route name, already in use: 'new_provider_session'
config/routes.rb
mount_devise_token_auth_for 'Provider', at: 'api/v1/auth'
devise_for :providers, controllers: {} do
get 'providers/sign_in', to: 'web/sessions#new'
delete 'providers/sign_out', to: 'web/sessions#destroy'
end
root to: 'web/welcome#welcome'
devise_for :admins, controllers: {} do
get 'admins/sign_in', to: 'web/sessions#new'
delete 'admins/sign_out', to: 'web/sessions#destroy'
end
试试这个:
使用 devise_token_auth
生成器生成 Provider 资源
$ rails g devise_token_auth:install Provider auth
然后更改 config/routes.rb
以将此路由放置在 API 版本控制的名称空间内
namespace :api do
namespace :v1 do
mount_devise_token_auth_for 'Provider', at: 'auth'
end
end
检查路线
$ rake routes
我正在尝试允许在移动设备上使用令牌进行身份验证,同时仍将网络表单用于网络应用程序。我决定使用 devise_token_auth。每当我尝试启动应用程序时,我都会收到错误消息,因为已经定义了会话路径。
错误
ArgumentError: Invalid route name, already in use: 'new_provider_session'
config/routes.rb
mount_devise_token_auth_for 'Provider', at: 'api/v1/auth'
devise_for :providers, controllers: {} do
get 'providers/sign_in', to: 'web/sessions#new'
delete 'providers/sign_out', to: 'web/sessions#destroy'
end
root to: 'web/welcome#welcome'
devise_for :admins, controllers: {} do
get 'admins/sign_in', to: 'web/sessions#new'
delete 'admins/sign_out', to: 'web/sessions#destroy'
end
试试这个:
使用 devise_token_auth
生成器生成 Provider 资源
$ rails g devise_token_auth:install Provider auth
然后更改 config/routes.rb
以将此路由放置在 API 版本控制的名称空间内
namespace :api do
namespace :v1 do
mount_devise_token_auth_for 'Provider', at: 'auth'
end
end
检查路线
$ rake routes