我想用devise gem创建一个rails API进行身份验证。 我正在使用Chrome Postman检查API输出。
我的环境:
我做了什么:
跑
rails new my_api
cd my_api
在Gemfile
bundle install
加入
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
到environment/development.rb
rails console
之后我尝试从邮递员登录。
我将email
和password
放入邮递员的标题中。
POST http://localhost:3000/users/sign_in
标题
电子邮件 abcd @ gamilcom
密码 abcd1234
但它没有进行身份验证。我需要做什么?
答案 0 :(得分:9)
您可能希望在API上下文中使用knock或devise_token_auth。好心,您的电子邮件似乎无效。我不了解邮递员,但POST参数应该存在于您的HTTP请求正文中。
答案 1 :(得分:0)
默认情况下,Devise上的HTTP Basic Auth是关闭的。启用它很简单,对于大多数API而言,基本身份验证就足够了。
您需要做两件事才能启用HTTP基本身份验证:
:database_authenticatable
策略config.http_authenticatable = true
在此处查看更多信息: https://github.com/plataformatec/devise/wiki/How-To:-Use-HTTP-Basic-Authentication