许多受 API 密钥保护的 API 仅使用密钥(即密码),而没有帐户 ID 或用户名之类的东西。
例如 Stripe API 使用密钥作为 Basic Auth 中的用户名,密码留空:
curl https://api.stripe.com/v1/charges \
-u sk_test_BQokikJOvBiI2HOWgH4olfQ2:
这在服务器端如何工作?它是否以纯文本形式在以秘密作为主键的表中查找秘密?如果这张表被泄露会发生什么?
为什么这比account_id:secret_key在身份验证中使用组合更好?然后,您可以使用作为主键bcrypt(secret_key)而不是secret_key纯文本存储。account_id
相关,但不一样