我正在开发一个RailsWeb应用程序,该应用程序还为移动设备提供了基于JSON的API。移动客户端应首先通过(电子邮件/通过)获得令牌,然后客户端将使用该令牌进行后续的API调用。
我对Devise相当陌生,我正在寻找一个Devise API外观,authenticate(email, pass)并希望它返回true / false,然后基于此,我将创建并返回令牌或返回拒绝消息。但似乎Devise没有提供类似的信息。
authenticate(email, pass)
我知道Devise 1.3提供了基于JSON的身份验证,但这与我需要的有所不同-我需要生成令牌并处理回客户端,然后在使用该令牌完成身份验证之后。
有人可以指点一下吗?
有一个称为的装置配置:token_authenticatable。因此,如果将其添加到“用户”中的devise方法中,则只需调用以下命令即可在API中进行身份验证
:token_authenticatable
"/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])
这是我的精髓,是使用devise进行全面JSON / API登录的