【问题标题】:How to implement 'User' functionality in an app?如何在应用程序中实现“用户”功能?
【发布时间】:2023-04-05 03:49:01
【问题描述】:

这可能是重复。但是,其他答案并没有帮助我。所以,就这样吧。

我正在开发一个应用程序,我们需要向它添加“用户”。我们将为人们提供使用 Facebook、Twitter 和 LinkedIn 登录的选项。我以前使用过这些 API,但从未在全球范围内将它们结合起来。

我如何维护和管理这些将使用不同服务登录的用户。我很困惑他们将如何存储在数据库中,我是否需要为每个不同的社交服务提供不同的表,或者是有一种方法可以实现一个表格,将所有用户都放在一个地方。

【问题讨论】:

  • 老兄,我同意这个问题很广泛,但他基本上只问一件事,“我到底要如何存储/验证来自不同社交服务的用户”。

标签: ios objective-c database content-management-system


【解决方案1】:

据我了解,您是在询问如何管理、存储和验证将通过不同社交服务登录您的应用程序的用户。

这就是我们通过我们合作过的各种项目实施它的方式。从您提供的服务列表中,我们只与 twitter 和 facebook 合作过,所以我只能说一下。

设置:

  1. 我们有一个 Web 服务,我们的 iOS 应用程序与之通信,例如当 iOS 应用程序需要为用户登录发出请求调用时,服务器将获取尝试登录的用户详细信息并返回应用程序将执行的响应有什么必要。
  2. 我们在服务器上存储了一个数据库,其中包含一个用于验证用户的用户表。

话虽如此,您需要了解大多数社交服务之间的共同点,或者至少了解这些社交服务使用什么属性来唯一标识其用户。在这种情况下,他们都使用电子邮件来识别用户。

您会发现,当您的应用与这些不同的 API 交互时,他们喜欢使用用于唯一登录会话的登录会话密钥。

因此,在您的数据库中,您将存储您想要保存的用户的任何详细信息,但要知道您至少需要存储用户名、密码(加密)、电子邮件(用于标识、唯一列)和 login_session_key。

只需仔细检查linkedIn 确实有类似会话密钥的东西,它是在用户使用该方法登录时创建的。脸书和推特可以。至少将所需的 4 个主要数据属性(用户名、密码、电子邮件、会话)发送到服务器然后您遵循这种方法:

新用户

  • 如果新用户尝试登录,服务器首先检查提供的电子邮件是否存在于数据库中,如果不存在,则您发送回响应提醒用户该用户不存在;例如,您的应用会将它们带到注册屏幕。
  • 如果用户在注册表页面中,请保存您要存储的所有详细信息,包括用户名、密码和电子邮件。

成员

  • 如果用户登录电子邮件将存在于服务器端,它是现有用户,因此如果密码匹配,只需更新从应用程序发送的会话密钥(在某些应用程序中使用这些会话密钥在正在使用的应用程序的整个生命周期中,每个请求都发送相同的会话密钥,如果在任何时候会话密钥在应用程序交互期间不匹配,则可以得出结论,用户可能已经在另一台设备上登录了其他地方。李>
  • 如果密码不匹配,则返回相应的消息。

真的是这样。我们能够将所有 facebook 和 twitter 用户存储在一张表中。

【讨论】:

  • 谢谢。现在,关于设置服务器。我需要购买私人域名吗?另外,我如何安全地与它通信?
  • 那是一个完全不同的问题,一个已经发布过多次的问题。请对“设置网络服务器”进行一些研究
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多