两步验证 - 确保用户在进一步的会话中仍然经过身份验证

时间:2016-07-25 09:08:59

标签: java php android authentication twilio

我不确定我有这个问题,所以也许你可以帮助我。 我为Android应用程序构建了一个两步验证。

  1. 用户通过https
  2. 将他的电话号码从应用程序发送到服务器
  3. 服务器通过短信向用户发送验证码(基于
    Twilio / PHP)
  4. 用户收到代码并可以自行验证 服务器
  5. 此时我可以确定该用户是已发送代码的智能手机的经过身份验证的所有者。

    如果用户现在重新启动他的手机及其应用程序,我该如何确保该用户仍然是同一个经过身份验证的用户? 我是否必须每次根据身份验证代码向服务器发送某种凭据?这是一种安全而正确的方法吗?

    谢谢你,最诚挚的问候!

    Dopser

2 个答案:

答案 0 :(得分:0)

可以生成令牌号(类似于cookie),它存储在电话和服务器数据库中。如果您想减少跟踪另一个号码的麻烦,令牌号也可以是验证码。

您可以使用sharedpreferences或sqlite数据库等将此令牌存储在您的设备上

Storage options on Android

在每个onCreate()实例上,您可以检查两个标记是否匹配。

这样您就可以解决问题了。 您可以为所有后续活动执行相同的操作。

答案 1 :(得分:0)

用户应该在每个请求上发送访问令牌。

您可能需要考虑OAuth流,因为您的流可以映射到OAuth令牌身份验证。见http://oauth.net/2/

您还需要及时考虑令牌/代码的有效性。

希望这有帮助。