使用Devise 1.3来验证JSON登录请求

Sat*_*yam 6 api json ruby-on-rails devise

我是铁杆新手.我正在尝试为使用JSON进行身份验证的移动应用程序编写API.我想使用Devise进行身份验证.我相信Devise> 1.3也增加了对JSON的支持,但我找不到任何关于它的例子或文献.

有人可以指点我的任何资源或提供一些示例代码?

谢谢!萨蒂扬

San*_*eev 7

我无法进入顶部答案的链接页面,所以我想我会添加自己的.您无需创建任何自定义控制器.您需要做的就是以下内容:

在application.rb中,在应用程序类中添加以下内容

config.to_prepare do
  DeviseController.respond_to :html, :json
end
Run Code Online (Sandbox Code Playgroud)

在config/initializers/devise.rb中添加:json格式.默认情况下,此行已注释掉,因此您需要取消注释该行.

config.navigational_formats = ['*/*', :html, :json]
Run Code Online (Sandbox Code Playgroud)

在此之后,您可以将json对象发送到sign_in.json或您在路由中设置的任何用于登录的内容.

{
  "user": {
    "email": "blah@blah.com",
    "password": "blah"
  }
}
Run Code Online (Sandbox Code Playgroud)

并且在成功时它将返回201创建,并将登录用户作为JSON对象.出错时,它将返回401,并带有一条JSON消息,指出失败的原因.

例:

{"error":"Invalid email or password."}
Run Code Online (Sandbox Code Playgroud)

如果您在前端使用Backbone/Marionntte,这是一个很好的例子.

http://joshhuckabee.com/integrating-devise-backbonejs


Mic*_*orn 6

也许这个> http://jessehowarth.com/devise

我打算在一两个星期内做同样的事情.