2012-01-05 96 views
1

我需要在RoR 3中实现登录Web服务。 我将Devise应用于用户模型,并添加了一些字段。Rails 3- Devise - 通过Web服务进行身份验证

我想要做的是: 1-客户端执行REST服务,发送用户名和密码。 2-服务器验证(在用户表中使用encrypted_pa​​ssword字段)并返回具有到期时间的访问令牌 3-客户端在他执行的所有服务中发送该访问令牌,并且如果令牌未过期,则服务器发送响应没有错误。

如何使用Devise实现这个方案。我已经将Devise应用于用户模型。

谢谢!

+0

太晚了,但这里是一个链接,你可以得到一些想法[http://zyphdesignco.com/blog/simple-auth-token-example-with-devise] – 2012-05-30 10:45:58

+0

在这里一个http://matteomelani.wordpress .com/2011/10/17/authentication-for-mobile-devices/ – 2012-05-30 11:17:53

+0

@AbhayKumar,谢谢但第一个链接被破坏。 – Tony 2012-05-30 13:41:11

回答

1

答案是:设计不适用于此目的。

2

设计不会做任何开箱即用的事情。

Devise可以处理初始身份验证,例如有一行取消注释以允许对电子邮件/密码进行基本身份验证。

# config/initializers/devise.rb 
config.http_authenticatable = true 

发送和存储访问令牌是你必须在家做饭的东西,据我的知识,设计不会做那样的事情。也许是属于用户的令牌模型?

您可以创建一个自定义的守望者策略来通过您的令牌进行身份验证,有一个示例说明如何在devise.rb的底部工作。

谈论身份验证令牌让我想到了Oauth,它比您想象的要复杂得多,但具有成为各种标准的优势。如果您对这条路线感到好奇,我会查看:https://github.com/nov/rack-oauth2

相关问题