了解如何从Android到Rails应用程序验证用户身份

amr*_*rnt 1 ruby authentication ruby-on-rails devise grape-api

我有一个rails应用程序,我使用Devise对应用程序的用户进行身份验证.

问题是我正在构建一个Android应用程序,我想了解如何在Android上"轻松地"验证用户的流程.我读到了Basic和Digest Auth.

或api我使用Grape https://github.com/intridea/grape,其中包含用于身份验证的Basic和Digest中间件.

我只是想知道我应该在Android应用程序上存储用户的电子邮件/密码吗?

每个api请求都应该附上用户的电子邮件/密码?

另外,在经过身份验证的响应中,我的auth标头的好处是什么?

Chr*_*art 7

我强烈建议不要在任何地方存储密码,并且很可能不需要存储用户名.相反,请查看此博客示例中显示的Devise中的token_authenticatable功能.我建议做的是当Android应用程序用户输入他/她的用户名和密码组合时,您使用用户输入的内容调用自定义令牌身份验证sign_in控制器并将令牌返回给应用程序.然后,您可以将令牌存储在应用程序中,而无需担心用户名/密码可能会受到损害.

这使您可以灵活地重新生成令牌的频率,或任意使令牌无效.