2017 年 iOS 用户身份验证的前三个选项是啥? [关闭]

Posted

技术标签:

【中文标题】2017 年 iOS 用户身份验证的前三个选项是啥? [关闭]【英文标题】:What are the top three options for user authentication on iOS in 2017? [closed]2017 年 iOS 用户身份验证的前三个选项是什么? [关闭] 【发布时间】:2017-02-28 16:17:36 【问题描述】:

我正在构建一个新的 ios 应用程序,该应用程序需要用户登录身份的概念。看来我的选择是:

    建立自己的登录系统,让他们输入邮箱,生成密码。 使用 Facebook 或 Twitter 帐户(或linkedin、google等) 使用 Apple ID?

数字 3 似乎是一个不错的苹果方式,但它甚至被支持吗?我已经使用我的 Apple ID 在设置中登录了我的 iPhone。我可以用那个吗?

我的问题是,现在是 2017 年,最新最好的方法是什么。我有一个绿色的 iOS 应用程序,可以选择我想要的任何身份验证系统。 SO社区你怎么说?谢谢!

【问题讨论】:

这显然是一个“主要基于意见”的问题。此外,它介于编码和用户体验之间。什么对用户来说似乎“不那么烦人”?已经连接了它的 Facebook 或类似帐户?这样做有好处吗? 【参考方案1】:

在 iOS 上进行身份验证

在为 iOS 构建登录系统时,请务必记住 Apple 要求您支持应用的多种登录选项。你不能,例如仅使用 Facebook 登录或仅使用 Google 登录。前段时间我收到了 Apple 的回复:

为了使 Facebook 成为唯一可用的身份验证机制,您的应用必须包含来自 Facebook 的重要帐户特定功能。提取个人资料信息或分享信息不足以让 Facebook 成为唯一可用的身份验证机制。

因此该选项将需要使用例如自定义登录+社交媒体登录或多个社交媒体登录。 我已经看到自定义登录名/用户名+密码和使用社交媒体身份验证是最常用的做法。它经常为用户提供一键式身份验证和授权。通过使用社交媒体,您可以在不询问用户信息的情况下获取用户的个人资料信息。

身份验证机制:

    Facebook Twitter/Fabric Google email/password(custom)

框架:

    Firebase Facebook Twitter/Fabric Google Parse(Discontinued) 自定义

我该怎么办?

对于小型团队/单个开发人员来说,使用 Firebase 作为身份验证服务可以轻松快速地进行开发。无需另一种编程语言来编写应用程序; swift/objective-c.

Firebase

Firebase 是一个移动平台,可帮助您快速开发优质应用、扩大用户群并赚取更多收入。 Firebase 由互补的功能组成,您可以混合搭配以满足您的需求

Firebase 是一款非常棒的工具,可用于为您的应用构建登录系统。它为您完成所有后端服务,并支持 Facebook、Google、Twitter、Github 和电子邮件/密码身份验证的登录系统。

但您应该在您的应用中使用身份验证机制吗?

如果您的应用不包含重要的基于帐户的功能,请让人们无需登录即可使用它。应用程序可能不要求用户输入个人信息才能运行,除非与应用程序的核心功能直接相关或法律要求。如果您的核心应用功能与特定社交网络(例如 Facebook、微信、微博、Twitter 等)无关,您必须提供无需登录或通过其他机制的访问权限。提取基本个人资料信息、分享到社交网络或邀请朋友使用该应用程序不被视为核心应用程序功能。

Ref.:

数字 3 似乎是一个不错的苹果方式,但它甚至被支持吗?我已经使用我的 Apple ID 在设置中登录了我的 iPhone。我可以用那个吗?

可能是一个好方法,但 Apple 没有这方面的 API/文档。 iOS 设备上有一个唯一标识符,但不能保证UUID(唯一标识符)在重新启动和重新安装软件后会相同。 (暂时找不到出处,有人可以验证一下吗?)

Apple 确实有一个框架,可以使用 iOS8+ 上提供的touchID 来授权用户使用钥匙串登录到您的应用程序。但这并没有为您的应用提供身份验证框架。

【讨论】:

这是一个比我想象的更好的答案。谢谢你乔金。不,谢谢你 Eric Aya、Larme、dan、Losiowaty 和 EmilioPelaez。

以上是关于2017 年 iOS 用户身份验证的前三个选项是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core Web API 模板中没有个人用户帐户身份验证选项

使用 iOS 版 Chrome 在同一选项卡中打开重定向链接

SMTP 身份验证用户名是啥

Wordpress 存储用户身份验证数据的方式背后的细节是啥?

使用 JWT 身份验证与用户合作的正确方法是啥?

在 Clojure 中执行用户身份验证和授权的首选方式是啥?