我正在尝试制作我的第一个 API,我以前从未做过 API。我确实阅读了一些文档,但找不到足够简单的东西来描述身份验证过程。
如何通过 API 对用户进行身份验证?比如我如何为应用程序开发人员提供一种方法,以便他们制作一个登录表单,允许他们的用户访问他们在我的数据库中的信息,并让我根据登录的用户提供数据。
我对通过 API 验证用户的想法感到困惑,他们如何安全地发送密码?
我正在尝试制作我的第一个 API,我以前从未做过 API。我确实阅读了一些文档,但找不到足够简单的东西来描述身份验证过程。
如何通过 API 对用户进行身份验证?比如我如何为应用程序开发人员提供一种方法,以便他们制作一个登录表单,允许他们的用户访问他们在我的数据库中的信息,并让我根据登录的用户提供数据。
我对通过 API 验证用户的想法感到困惑,他们如何安全地发送密码?
当您在谈论 PHP 和 javascript 时,我假设您在谈论 HTTP (REST) api。在那种情况下,我几乎总是主张使用标准的 HTTP 身份验证。这将发送以 BASE64 编码的用户名和密码。这可能看起来是加密的,但顾名思义,它只是一种编码。因此它不安全。如果你想安全地做到这一点,我强烈建议使用 HTTPS。
看一下:
编辑:根据要求简要介绍其工作原理。冗长(并且有点难以阅读)的标准描述了,服务器可以请求客户端对自己进行身份验证。然后客户端将用户名和密码(用户名:密码的基本 64 位编码版本)发送到服务器。由于标准中指定了此基本 HTTP 身份验证,因此它被广泛传播,并且几乎每种语言都有大量的库。但是,如前所述,我强烈建议将其与 HTTPS 一起使用。否则,它只会将用户的密码暴露在互联网上。
虽然我强烈支持使用标准 HTTP 身份验证,但您可能还想看看其他概念:OAuth、apikeys、Amazon Stuff
也许您应该看看oauth,例如,这就是 twitter 的工作方式。