我有一个rails应用程序,我使用Devise对应用程序的用户进行身份验证。
问题是我正在构建一个Android应用程序,我想了解如何在Android上“轻松地”验证用户的流程。我读到了Basic和Digest Auth。
或api我使用Grape https://github.com/intridea/grape,它有基本和摘要中间件进行身份验证。
我只是想知道我应该在Android应用程序上存储用户的电子邮件/密码吗?
每个api请求都应该附上用户的电子邮件/密码?
另外,在经过身份验证的响应中,我的auth标头的好处是什么?
答案 0 :(得分:7)
我强烈建议不要在任何地方存储密码,并且很可能不需要存储用户名。相反,请查看this blog example中显示的Devise中的token_authenticatable特性。我建议做的是当Android应用用户输入他/她的用户名&密码组合,您使用用户输入的内容调用自定义令牌认证sign_in控制器并将令牌返回给应用程序。然后,您可以将令牌存储在应用中,而无需担心用户名/密码可能会受到损害。
这使您可以灵活地重新生成令牌,或者任意使令牌无效。