Android 客户端-服务器设置中的安全SSO实现
我正在创建一个Android应用程序,并希望使用SSO让用户能够轻松地使用其Google或Facebook帐户登录该应用程序。该应用程序将其数据存储在服务器上,因此用户可以从不同的设备访问数据。在服务器上,我计划使用用户的电子邮件来识别用户 在客户端上,我知道电子邮件属于用户,但服务器如何确保向服务器发送其他用户邮件地址的是真正的用户而不是攻击者 我是否必须获取访问令牌并将其与电子邮件一起发送到服务器,并让服务器使用此令牌验证电子邮件,或者我是否可以做其他事情Android 客户端-服务器设置中的安全SSO实现,android,security,client-server,single-sign-on,Android,Security,Client Server,Single Sign On,我正在创建一个Android应用程序,并希望使用SSO让用户能够轻松地使用其Google或Facebook帐户登录该应用程序。该应用程序将其数据存储在服务器上,因此用户可以从不同的设备访问数据。在服务器上,我计划使用用户的电子邮件来识别用户 在客户端上,我知道电子邮件属于用户,但服务器如何确保向服务器发送其他用户邮件地址的是真正的用户而不是攻击者 我是否必须获取访问令牌并将其与电子邮件一起发送到服务器,并让服务器使用此令牌验证电子邮件,或者我是否可以做其他事情 由于我只对用于登录的电子邮件感兴趣
由于我只对用于登录的电子邮件感兴趣,因此只需获取一次邮件地址并在客户端上记住它,直到用户退出我的应用程序,这将非常方便。但是,如果我需要保留访问令牌,我需要定期检查它是否过期,并在需要时续订。经过进一步调查和思考,我决定将访问令牌发送到我的服务器(通过https),并让服务器使用该令牌从Facebook/Google获取用户的电子邮件地址 这似乎是处理这种情况的一种非常标准的方法,如果我这样做,我就不必想出一些自己的解决方案,这些解决方案必然会忽略某些情况,留下巨大的安全漏洞