<分区>
我正在创建一个具有三种登录类型的应用:
- 谷歌+
- 应用内注册和登录。
对于应用级别的身份验证,我们保留了用户名和密码组合。
当用户通过 Facebook 注册时,他已注册并登录。但是没有为该登录设置密码。如果用户再次来登录,它将不允许登录。 我如何为我的数据库定义逻辑,以便我们能够安全地实现登录和注册。 我听说过识别登录类型的选项,而不是在服务器级别为 Facebook 登录做任何身份验证。但这不会损害安全性。
我们该怎么做?
<分区>
我正在创建一个具有三种登录类型的应用:
对于应用级别的身份验证,我们保留了用户名和密码组合。
当用户通过 Facebook 注册时,他已注册并登录。但是没有为该登录设置密码。如果用户再次来登录,它将不允许登录。 我如何为我的数据库定义逻辑,以便我们能够安全地实现登录和注册。 我听说过识别登录类型的选项,而不是在服务器级别为 Facebook 登录做任何身份验证。但这不会损害安全性。
我们该怎么做?
最佳答案
当用户使用 Facebook 登录时,他将始终能够返回您的应用并使用 Facebook 再次登录。
当您使用 Facebook 登录时,您真正在做的是使用用户凭据调用 Facebook API。第一次,用户将通过对话框提示授权您的应用程序,但第二次,该对话框不会显示,用户将被自动重定向到您的应用程序
在此处查看文档:https://developers.facebook.com/docs/facebook-login/android/v2.3
在这两种情况下,您都会在回调调用 (onSuccess) 中得到确认,此时您可以放心地假设您的用户已登录。
如果您实现此代码,则无需跟踪任何其他内容,用户将始终能够登录您的应用程序,但这不是您的情况。
因为你想提供自己的登录系统+其他第三方登录系统,你要做的就是在你的数据库中创建一个用户行,并存储用户使用第三方登录系统时返回的user_id。然后你检查你的回调方法 user_id 如果它在你的数据库中,你加载数据。您可以随时提供为自己的登录系统添加新密码的可能性。
希望对你有帮助。
关于android - 实现社交登录和应用内登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29878578/