JWT + OAuth2 + ADFS 3.0 + 移动 + API

JWT + OAuth2 + ADFS 3.0 + Mobile + API

我正在构建一个移动应用程序,并且 API 使用从 ADFS 3.0 发布的 JWT 令牌进行保护。移动应用程序注册为 ADFS 的 OAuth2 客户端。我担心有人会拦截 JWT 令牌并使用它来恶意访问 API。

我的问题是这是否足以保护 API?

令牌确实很敏感,但有几个因素可以缓解这种情况。

  1. 令牌在身份验证中传递 Header。这就是为什么您只需要通过 https 调用传递它的原因,因为 header 在那个时候被加密并且是安全的。

  2. 令牌仅在一段时间内有效....您可以将此值设置为任何您想要的值。例如,我让他们设置了 1 小时。即使有人得到了令牌,他们也只能在那个时间使用它,之后它就失效了。

您还需要保护生成令牌的方法。确保 ClientID 和 ClientSecret 安全。不要在 URL 中传递它们,因为这可能会被拦截。

如果你做到了这一切,你就会像互联网上的任何人一样安全。

我的最后一点,有些人喜欢将令牌存储在数据库中。我会反对它。将它们保存在您的客户端应用程序中,是的,以一种安全的方式,以便您可以重复使用它们直到它们过期,但不要使用任何可能被盗、被黑等的传统存储。