用户如何使用他们的用户名和密码传递 API 密钥?

How users pass API key with their username and password?

我正在关注 this tutorial,它非常有效。但是很多东西都是硬编码的,所以我需要改变它们。如果用户名和密码正确等等,我必须检查数据库...但我不明白 API 密钥(或服务密钥)是如何工作的。

在教程代码中,服务密钥通过 HTTP header 传递,然后登录方法检查它是否与提供的用户名和密码匹配。但是如果每个用户都有一个唯一的服务密钥,用户如何通过 HTTP header 传递它?用户将用户名和密码输入表单字段,然后按登录按钮

教程中说服务密钥是通过电子邮件或其他方式提供给用户的。但是用户如何在登录表单的 HTTP header 中输入它呢?这个服务密钥来自哪里?

服务密钥是为 API 而非个人用户提供访问权限。所以以推特为例:推特用户使用用户名和密码登录,不需要服务密钥。但是,如果您想构建自己的 Twitter 平台,用户可以在其中登录您的页面并在您的应用程序中查看他们的推文(如 tweetdeck),您需要获得服务密钥才能使用 Twitter API,并且每次用户登录您的页面时,您都会将此密钥连同来自服务器的 http 请求一起发送到 Twitter。服务密钥是一种使用 API 而非使用应用程序的特定用户来识别客户端(即应用程序)的方法。