使用Google ID令牌唯一标识服务器上的用户

时间:2018-06-25 07:49:26

标签: android android-volley google-signin

我正在使用Android应用程序,因此需要识别服务器上的用户。该应用程序旨在收集有关不同民意测验/调查的一些信息,因此我需要在服务器上唯一标识用户,以确保他们每个问题只能回答一次。我在这个项目上花费了很多时间,我真的想尽可能地使其完美。我阅读了很多有关此的信息,但我仍然担心一些安全问题。

请帮助我澄清一些事情:

  • 目前整个应用程序都已完成,但是我集成了Google登录。我正在请求电子邮件:

    GoogleSignInOptions account = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
    .requestIdToken(getString(R.string.server_client_id))
    .requestEmail()
    .build();
    

    ,我正在通过Volley将其发送到服务器上。在服务器端,我要求用户仅根据该电子邮件地址回答一次。一切正常,但是我不知道这是否足够安全,也许某些“不良”用户可以发送伪造的电子邮件地址,以便作弊?

  • 我也试图获取Google ID令牌。我使用Volley将其发送到服务器,正在验证服务器上的idToken,从那里获取电子邮件,然后使用该电子邮件地址来限制用户。一切正常,但是我不知道我是否正确管理它,因为我有3个活动:一个login_activity,一个main_activity(用户可以选择可用的问题)和一个answer_activity(我可以在其中收集信息并将其发送到服务器)。而且我使用Intent在这些活动之间转移了idToken,但我不知道这是否是一个好方法。

在问这些问题之前,我已经记录了很多文档,阅读了很多有关身份验证和许多其他内容的信息,但是我不知道如何将它们放在一起。

0 个答案:

没有答案