小编典典

Devise API身份验证

json

我正在开发一个RailsWeb应用程序,该应用程序还为移动设备提供了基于JSON的API。移动客户端应首先通过(电子邮件/通过)获得令牌,然后客户端将使用该令牌进行后续的API调用。

我对Devise相当陌生,我正在寻找一个Devise API外观,authenticate(email, pass)并希望它返回true /
false,然后基于此,我将创建并返回令牌或返回拒绝消息。但似乎Devise没有提供类似的信息。

我知道Devise 1.3提供了基于JSON的身份验证,但这与我需要的有所不同-我需要生成令牌并处理回客户端,然后在使用该令牌完成身份验证之后。

有人可以指点一下吗?


阅读 324

收藏
2020-07-27

共1个答案

小编典典

有一个称为的装置配置:token_authenticatable。因此,如果将其添加到“用户”中的devise方法中,则只需调用以下命令即可在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])

这是我的精髓,是使用devise进行全面JSON / API登录的

2020-07-27