1

我正在创建一个 Android 应用程序,并希望使用 SSO 使用户可以轻松地使用他们的 Google 或 Facebook 帐户登录应用程序。该应用程序将其数据存储在服务器上,以便用户可以从不同的设备访问它。在服务器上,我打算使用用户的电子邮件来识别用户。

在客户端上,我知道电子邮件属于用户,但服务器如何确定它是真正的用户,而不是向服务器发送另一个用户的邮件地址的攻击者?

我是否必须获取访问令牌并将其与电子邮件一起发送到服务器,并让服务器使用此令牌验证电子邮件,或者我还能做些什么?

由于我只对用于登录的电子邮件感兴趣,因此只需获取一次邮件地址并在客户端上记住它,直到用户退出我的应用程序。但是,如果我还需要保留访问令牌,我需要定期检查它是否已过期并在需要时更新它。

4

1 回答 1

0

经过更多的调查和思考,我决定将访问令牌发送到我的服务器(通过 https),并让服务器使用它从 Facebook/Google 获取用户的电子邮件地址。

这似乎是处理这种情况的一种非常标准的方法,如果我这样做,我不必想出一些自己的解决方案,这些解决方案必然会忽略某些情况并留下巨大的安全漏洞。

于 2012-12-21T06:24:55.837 回答