好奇,
如果我想使用API进行登录申请(即谷歌的Facebook +)
我在数据库中存储了哪些用户的唯一密钥?我的应用程序是否具有与其相同的用户唯一密钥(Facebook或Google +),或者在登录我的应用程序时为我的用户生成新的唯一密钥?它是什么类型的数据?
我是否将用户信息复制到我的数据库中或继续从Facebook或Google+访问用户的信息?我必须为用户的姓名,性别,生日等创建表格,并在用户登录我的应用程序后注册用户的信息,或者每次我的应用程序需要时直接从Facebook或Google+访问它?
用户使用登录API是否真的安全?有人可以使用API获取用户的电子邮件和密码,或者在用户的Facebook或Google+上发帖,用户不想发布或劫持用户的帐户吗?
这可能是常见的情况,但我没有使用API的经验,因此我对此一无所知。
答案 0 :(得分:0)
我在数据库中存储了哪些用户的唯一密钥?我的应用程序是否拥有与用户相同的唯一密钥(Facebook或Google +),或者在登录我的应用时为我的用户生成新的唯一密钥?它是什么类型的数据?
当您使用Google或Facbook 登录时,您实际上只需要存储他们返回给您的信息。
LoginProvider ProviderKey ProviderDisplayName UserId
_____________________________________________________________________
Facebook 1969950809700159 Facebook 21248583
Google 117200475532672775346 Google 21248582
用户ID是我的用户表中的用户ID。我在那里存储我的系统需要的用户信息ProviderKey是登录提供商系统上的用户ID。
我是否将用户的信息复制到我的数据库中或继续从Facebook或Google+访问用户的信息?就像我必须为用户的姓名,性别,生日等创建表格,并在用户登录我的应用程序后注册用户的信息,或者每次我的应用程序需要时直接从Facebook或Google+访问它? / p>
当用户创建或将其帐户链接到您的系统时,您可以复制其中的一部分,但我不会自动更新它而不通知您正在这样做的用户。有些用户没有通过链接到社交媒体帐户来了解您可以访问的信息量。
用户使用登录API是否真的安全?有人可以使用API获取用户的电子邮件和密码,或者在用户不想发布或劫持用户帐户的用户的Facebook或Google+中发帖吗?
我认为您对身份验证的身份感到困惑。使用Oauth2,您请求用户授予您访问权限,通过api这是授权来查看数据。如果您使用Google+或Facebook登录,则表示您使用的是身份服务器并以用户身份登录。如果您希望他们使用社交媒体帐户登录您的系统,您应该使用signin。通过唱歌你就是那个用户。不,我不认为他们可以使用signin被劫持。