2

我正在尝试制作我的第一个 API,我以前从未做过 API。我确实阅读了一些文档,但找不到足够简单的东西来描述身份验证过程。

如何通过 API 对用户进行身份验证?比如我如何为应用程序开发人员提供一种方法,以便他们制作一个登录表单,允​​许他们的用户访问他们在我的数据库中的信息,并让我根据登录的用户提供数据。

我对通过 API 验证用户的想法感到困惑,他们如何安全地发送密码?

4

2 回答 2

2

当您在谈论 PHP 和 javascript 时,我假设您在谈论 HTTP (REST) api。在那种情况下,我几乎总是主张使用标准的 HTTP 身份验证。这将发送以 BASE64 编码的用户名和密码。这可能看起来是加密的,但顾名思义,它只是一种编码。因此它不安全。如果你想安全地做到这一点,我强烈建议使用 HTTPS。

看一下:

PHP 中的 HTTP 身份验证

相关标准

编辑:根据要求简要介绍其工作原理。冗长(并且有点难以阅读)的标准描述了,服务器可以请求客户端对自己进行身份验证。然后客户端将用户名和密码(用户名:密码的基本 64 位编码版本)发送到服务器。由于标准中指定了此基本 HTTP 身份验证,因此它被广泛传播,并且几乎每种语言都有大量的库。但是,如前所述,我强烈建议将其与 HTTPS 一起使用。否则,它只会将用户的密码暴露在互联网上。

虽然我强烈支持使用标准 HTTP 身份验证,但您可能还想看看其他概念:OAuth、apikeysAmazon Stuff

于 2013-02-06T15:03:50.620 回答
2

也许您应该看看oauth,例如,这就是 twitter 的工作方式。

于 2013-02-06T15:15:29.857 回答