gpt4 book ai didi

php - iOS 应用程序和用户身份验证。授权?

转载 作者:可可西里 更新时间:2023-11-01 05:33:57 25 4
gpt4 key购买 nike

我正在创建我的第一个 iOS 应用程序,它基本上会调用我在 PHP/MySQL (Laravel) 中构建的 RESTful API,并向用户显示返回的数据。

首先,我需要创建一个系统,供用户从 iOS 应用程序注册/登录。

我一直在阅读有关 oAuth 和 oAuth2 的信息,但有点困惑,因为我不确定它是否适用于我的情况。

我想要的是:

1) 用户在其 iOS 设备上打开应用

2) 并且需要通过调用我的 API 的应用程序登录,这反过来会根据服务器上的 MySQL 数据库检查用户的凭据

我不想要的是:

1) 用户将通过第 3 方应用程序(google、facebook、twitter 等)登录

2) 将用户从应用程序引导至必须提供凭据的网页,然后再重定向回应用程序。

oAuth 是否适用于这种情况?我的印象是它仅用于通过第 3 方服务验证用户。

编辑:一个例子可能是 ios 上的 ebay 应用程序。它有自己的用户数据库,允许从应用程序登录和注册,不使用任何第 3 方 API 来执行此操作

最佳答案

OAuth(2) 是一种授权协议(protocol)。它旨在向其他 应用授予对您的 API 的访问权限。换句话说,我是 Eugenio's Super App 的开发人员,我想代表(普通)用户调用您的 API。

在您的示例中,您的 iOS 应用程序是 API 的唯一使用者。也许将来您计划扩展它。也许不是。

无论如何,我建议将用户身份验证与 API 本身分开。您永远不知道您的用户群将如何发展。也许您打算将您的应用程序出售给消费者。即使您不想使用 FB、Twitter 等登录,用户也可能更愿意这样做。 (除非你和 eBay 一样大)。

BTW, logging in with FB/Twitter does not require navigating outside to their sites anymore. You can simply use the (very convenient) native apps. See here for an example.

或者您可能正计划向企业用户销售此应用程序。在这种情况下,他们肯定不想使用您的凭据登录,因为他们已经拥有自己的凭据(例如 AD、LDAP 等)

保持该过程独立可以让您的 API 随着时间的推移而发展。谁知道呢,也许您的应用可以使用 TouchID 对用户进行身份验证。 Another example here .

我建议在任何情况下都使用基于 token 的方法。您的 API 需要一个 token 。 JWT轻量级且易于创建/验证和解析。

这是关于如何为 API 构建 JWT 的一个很好的总结:https://auth0.com/blog/2014/12/02/using-json-web-tokens-as-api-keys/

关于php - iOS 应用程序和用户身份验证。授权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27670649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com