【发布时间】:2013-03-27 04:47:12
【问题描述】:
我正在为我的 ruby 应用程序创建一个 API,它基于 HTTP Digest 身份验证对用户进行身份验证。我决定使用 Grape API 库,因为它可以在 ruby 中创建 API 清洁器。 Grape 文档指出您可以使用摘要式身份验证,例如:
http_digest({ :realm => 'Test Api', :opaque => 'app secret' }) do |username|
# lookup the user's password here
{ 'user1' => 'password1' }[username]
end
上面的 Grape 实现是 Rack::Auth::Digest::MD5 的包装器
现在,为了安全起见,我读到,从 RFC 2617 开始,您不需要将密码作为纯文本存储在数据库中,您可以存储用户名的 MD5 摘要:领域:密码并针对它进行身份验证,因此我创建了一个 DataMapper型号:
class Key
include DataMapper::Resource
property :id, Serial
property :username, String
property :password, String
property :active, Boolean, :default => true
property :created_at, DateTime, :default => DateTime.now
property :updated_at, DateTime
end
现在有了我提供的内容,我不知道如何连接这两者并使其工作。
【问题讨论】:
标签: ruby rubygems rack datamapper grape-api