我正在搜索一个Gem,它将从给定的字符串创建私钥和公钥,然后可以存储在数据库中。任何人都可以推荐这样的宝石吗?
答案 0 :(得分:2)
Devise允许通过token_authenticable来获取令牌,但是我没有找到一个这样做的宝石,所以我的模型通常看起来像:
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :token_authenticatable, :confirmable
before_save :ensure_authentication_token
before_save :create_secret_token
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me
private
def create_secret_token
self.secret_token = ActiveSupport::SecureRandom.base64(20).tr('+/=', '-_ ').strip.delete("\n") unless self.secret_token
end
end
secret_token生成器行确保替换+ / =字符,然后删除空格。使用RESTful API时,“+ / =”字符很难处理:
ActiveSupport::SecureRandom.base64(20).tr('+/=', '-_ ').strip.delete("\n")