android - 实现社交登录和应用内登录

标签 android database facebook security authentication

<分区>

我正在创建一个具有三种登录类型的应用:

  1. Facebook
  2. 谷歌+
  3. 应用内注册和登录。

对于应用级别的身份验证,我们保留了用户名和密码组合。

当用户通过 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/

相关文章:

jQuery load() 和 Facebook 评论

android - 如何在 Android Studio 中使用 FFmpegMediaMetadataRetriever?

database - 使用 RavenDB Smuggler 一次性导出多个 ravendb 数据库

android - 使用谷歌时出现 EOFException 端点

php - MySQLi 连接而不指定数据库

sql - 在数据库中保存动态列表的首选方法是什么?

使用 Leakcanary 的 Android Chrome Facebook webview 内存泄漏

python - Facebook 签名请求解码不正确的填充

android - 如何在 fragment 中膨胀 LinearLayout?

java - Eclipse Android Unicode 文件夹名称导致构建错误