我的网站有一项登录功能,可让用户输入他们的电子邮件和密码登录自己的帐户。我现在需要将相同的功能带到我的应用程序中。
我的视图已经设置了电子邮件和密码输入字段。我感到困惑的是记录用户的逻辑。
我正在使用Retrofit来调用我的API。
我在网上找到了这个教程,但我不确定这是否能帮助我做我需要的事情:
https://futurestud.io/tutorials/android-basic-authentication-with-retrofit
我也找到了这个教程(用于令牌认证),所以现在我更加困惑的是,这些中的任何一个是否会对我有所帮助,或者他们是否有其他的东西:
https://futurestud.io/tutorials/retrofit-token-authentication-on-android
所以我的问题是,使用Retrofit,如何验证用户登录,验证成功后,如何使用用户ID(来自数据库)以后调用我的API?
答案 0 :(得分:1)
使用基于令牌的身份验证。登录时,服务器会向您发送一个随机令牌并将其存储在其数据库中。您保存该随机令牌。在以后的所有呼叫中,您都会传递该随机令牌。服务器在处理每个呼叫之前检查令牌。请记住使用HTTPS,以便在传输过程中对数据进行加密。
为什么这比存储用户名和密码更好?首先,您可以轻松撤消令牌服务器端。其次,如果用户在多个网站上重复使用他的密码,那么他并不只是妥协了一个帐户,他已经妥协了所有这些帐户。凭借一个令牌,他最糟糕地破坏了这个帐户。