正在验证对API的访问

Authenticating access to an API

本文关键字:访问 API 验证      更新时间:2023-09-26

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

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

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

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

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

看看:

PHP 中的HTTP Auth

相关标准

编辑:根据要求,简要总结其工作原理。服务器可以请求客户端对自己进行身份验证。然后,客户端将用户名和密码(username:password的基本64编码版本)发送到服务器。由于这个基本HTTP身份验证是在标准中指定的,它被广泛传播,几乎每种语言中都有大量的库。然而,正如前面提到的,我强烈建议将其与HTTPS一起使用。否则,它只会将用户的密码暴露在互联网上。

尽管我强烈赞成使用标准的HTTP身份验证,但您可能还想了解其他概念:OAuth、apikeys、AmazonStuff