【问题标题】:Secured API endpoints安全的 API 端点
【发布时间】:2020-07-26 05:21:04
【问题描述】:

我正在构建一个返回二维码的 API。

API 端点应该得到以下信息: 电子邮件、client_id 和 client_secret。

我的 API 应该检查客户端 ID 和密码,然后加密电子邮件(和更多数据),然后从加密的令牌制作 QR 码。

如何保护此 API,使攻击者无法向我发送虚假电子邮件?

我正在尝试了解如何保护 OAuth 请求免受中间人攻击。当我读到它时,我的服务器似乎需要向 OAuth 提供者发出一个包含这些数据的 https 请求。

我很难理解攻击者如何看不到客户端 ID 和密码(即使请求是通过消费者服务器发出的)。

希望得到帮助, 谢谢!

【问题讨论】:

  • 问题不清楚...发送到端点的是什么? client_id 和 client_secret?
  • 端点应该得到一个电子邮件、client_id 和一个客户端密码。通过 https - 服务器到服务器。问题是:它是否足够安全?
  • 如果攻击者在请求中发送client_secret,怎么可能看不到?
  • 这就是我要问的。网站如何在不受到攻击的情况下将其客户端 ID 和客户端密码发送给 OAuth 提供者?所以在一个你显然不理解的问题上给我一个坏名声,这有点粗鲁和不公平。无论如何,谢谢。
  • 您应该将其更新为您的问题。现在更清楚了。

标签: api security oauth oauth-2.0 authorization


【解决方案1】:

如何保护 OAuth 请求免受中间人攻击。

要在使用 OAuth2 时防止 MITM 攻击,您必须使用 TLS (https) 连接。

如何保护此 API,使攻击者无法向我发送虚假电子邮件?

为避免假电子邮件,您需要验证地址,例如发送带有用户需要与之交互的一次性代码的邮件。例如。 OpenID Connect,基于 OAuth2 的身份验证标准有特殊的声明来告知电子邮件是否经过验证。

OpenID Connect 已经定义了额外的声明,以通知 RP phone_number 和 email 声明的验证状态。

【讨论】:

    猜你喜欢
    • 2015-12-24
    • 2018-06-15
    • 1970-01-01
    • 2019-05-05
    • 1970-01-01
    • 1970-01-01
    • 2018-06-24
    • 1970-01-01
    • 2022-01-13
    相关资源
    最近更新 更多