我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。
关闭 4 年前。
我正在开发一个 Rails Web 应用程序,它还为移动设备提供基于 JSON 的 API。移动客户端应首先通过 (email/pass) 获取 token ,然后客户端将使用该 token 进行后续 API 调用。
我是 Devise 的新手,我正在寻找一个类似于 authenticate(email, pass)
的 Devise API 并期望它返回 true/false,然后基于此我将创建并交回 token 或返回拒绝消息。但似乎 Devise 没有提供这样的功能。
我知道 Devise 1.3 提供了基于 JSON 的身份验证,但这与我需要的有点不同 - 我需要生成 token 并处理回客户端,然后使用 token 完成身份验证。
有人可以指点一下吗?
最佳答案
有一个名为 :token_authenticable
的设计配置。因此,如果您将其添加到“用户”中的设计方法中,那么您只需调用即可在 API 中进行身份验证
"/api/v1/recipes?qs=sweet&auth_token=[@user.auth_token]"
您可能也希望在您的用户中使用它:
before_save :ensure_authentication_token
更新(带有 API 授权码)
您正在寻找的方法是:
resource = User.find_for_database_authentication(:login=>params[:user_login][:login])
resource.valid_password?(params[:user_login][:password])
这是我的 gist with a full scale JSON/API login with devise
https://stackoverflow.com/questions/7614798/