JWT令牌通常可以使用交叉源有效吗?

时间:2018-09-12 18:34:36

标签: asp.net-mvc azure asp.net-core jwt

我有一个Web应用程序,该应用程序通过Azure AD使用开放式身份验证。它需要与使用相同身份验证形式的另一个Web服务进行跨源对话。通常可以将相同令牌传递给其他Web服务吗?

例如,我知道我无法跨来源传递Cookie。 JWT令牌中是否内置保护功能,会导致类似的问题?

2 个答案:

答案 0 :(得分:2)

JWT只是一种编码声明的方式。 Cookies是不同的。最终,它们只是通过请求/响应头在客户端和服务器之间来回传递的数据。 JWT与它的传输方式无关,而cookie与传输的数据无关。实际上,当今,用于身份验证Cookie的数据通常是JWT。

因此,不,通常,没有跨域策略应用于JWT,因为这只是一种编码某些数据的方式。但是,JWT几乎总是至少已签名,并且通常也被加密。为了安全地读取签名的JWT,您将需要共享签名密钥,当然,要读取加密的JWT,您将需要共享密钥或公共/私有密钥中的私有密钥。使用非对称加密时的密码对。

长短不一,取决于您的确切工作,即使从技术上讲跨域访问也不是问题,但“共享” JWT可能是不可能或不可行的。

通常使用AD之类的集中式身份验证,每个应用程序都独立于身份服务器进行身份验证,而不是将一个接收到的令牌传递给另一个服务器。

答案 1 :(得分:1)

,JWT中没有内置的原始保护。只是一个令牌