Mobile JWT+;OAuth2+;ADFS 3.0+;移动+;美国石油学会

Mobile JWT+;OAuth2+;ADFS 3.0+;移动+;美国石油学会,mobile,jwt,adfs,oauth2,Mobile,Jwt,Adfs,Oauth2,我正在构建一个移动应用程序和API,使用ADFS 3.0发行的JWT代币进行保护。该移动应用程序已通过ADFS注册为OAuth2客户端。我担心有人会截获JWT令牌并恶意使用它访问API 我的问题是,这是否足以保护API?令牌确实很敏感,但有几个因素可以缓解这一问题 令牌在身份验证标头中传递。这就是为什么您只需要通过https调用来传递它,因为报头在该点被加密并且是安全的 令牌仅在一段时间内有效。。。。您可以将该值设置为您想要的任何值。例如,我让他们设置了一个小时。即使有人确实获得了令牌,他们也只

我正在构建一个移动应用程序和API,使用ADFS 3.0发行的JWT代币进行保护。该移动应用程序已通过ADFS注册为OAuth2客户端。我担心有人会截获JWT令牌并恶意使用它访问API


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

令牌确实很敏感,但有几个因素可以缓解这一问题

  • 令牌在身份验证标头中传递。这就是为什么您只需要通过https调用来传递它,因为报头在该点被加密并且是安全的

  • 令牌仅在一段时间内有效。。。。您可以将该值设置为您想要的任何值。例如,我让他们设置了一个小时。即使有人确实获得了令牌,他们也只能在该时间段内使用该令牌,此后该令牌将失效

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

    如果你做了所有这些,你将和互联网上的任何人一样安全


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

    令牌确实是敏感的,但有几个因素可以缓解这一问题

  • 令牌在身份验证标头中传递。这就是为什么您只需要通过https调用来传递它,因为报头在该点被加密并且是安全的

  • 令牌仅在一段时间内有效。。。。您可以将该值设置为您想要的任何值。例如,我让他们设置了一个小时。即使有人确实获得了令牌,他们也只能在该时间段内使用该令牌,此后该令牌将失效

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

    如果你做了所有这些,你将和互联网上的任何人一样安全


    我的最后一点是,有些人喜欢将令牌存储在数据库中。我建议不要这样做。在客户端应用程序中保留它们,是的,以一种安全的方式,这样你可以重复使用它们,直到它们过期,但不要使用任何可能被窃取、黑客攻击等的传统存储。

    为了避免JWT拦截,你必须使用http来避免JWT拦截,你必须使用httpsthanks进行回复,但1小时后,ADFS再次要求进行身份验证。我们如何使其持久化感谢您的回复,但1小时后,ADFS再次要求验证。我们怎样才能使它持久