![](/img/trans.png)
[英]Rails - devise with devise_token_auth not sending confirmation email
[英]Rails Devise Token Auth authentication without using email
我想使用“用户名”字段代替“电子邮件”
我用宝石
gem 'devise'
gem 'devise_token_auth'
我的模特“用户”
devise :database_authenticatable,
:trackable, :registerable, :authentication_keys => [:username]
include DeviseTokenAuth::Concerns::User
has_many :projects
def email_required?
false
end
def email_changed?
false
end
我删除了“ validatable”
并尝试更改模型
change_column :users, :email, :string, :null => true
remove_index :users, :email
另外我设置配置device.rb
config.authentication_keys = [:username]
config.case_insensitive_keys = [:username]
config.strip_whitespace_keys = [:username]
但是我仍然有一个错误
"Email can't be blank",
"Email is not an email"
我做错了什么? 谢谢
我找到了这个解决方案
的routes.rb
mount_devise_token_auth_for 'User', at: 'auth', :controllers => { :registrations => "registrations" }
然后自己注册
铁轨路线有这个
Prefix Verb URI Pattern Controller#Action
new_user_session GET /auth/sign_in(.:format) devise_token_auth/sessions#new
user_session POST /auth/sign_in(.:format) devise_token_auth/sessions#create
destroy_user_session DELETE /auth/sign_out(.:format) devise_token_auth/sessions#destroy
cancel_user_registration GET /auth/cancel(.:format) registrations#cancel
new_user_registration GET /auth/sign_up(.:format) registrations#new
edit_user_registration GET /auth/edit(.:format) registrations#edit
user_registration PATCH /auth(.:format) registrations#update
PUT /auth(.:format) registrations#update
DELETE /auth(.:format) registrations#destroy
POST /auth(.:format) registrations#create
auth_validate_token GET /auth/validate_token(.:format) devise_token_auth/token_validations#validate_token
可以使用方法
- valid_token?
- create_new_auth_token
- build_auth_header
看
https://github.com/lynndylanhurley/devise_token_auth
不允许的参数将新字段添加到Rails 4.0中的Devise中
您也可以从devise_token_auth删除电子邮件验证
添加文件config / initializers / change_email_valid_devise_token_auth.rb
EmailValidator.class_eval do
def validate_each(record, attribute, value)
end
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.