在后端Web服务位于单独的服务器上并且需要确定给定请求通过APIM网关身份验证和授权机制传递的情况下,验证特定API Manager实例是否发出JWT的推荐方法是什么?
我知道JWT中的头字段包含一个’x5t’字段,它是对租户密钥库中证书的编码引用,详见此处:
https://asankastechtalks.wordpress.com/2013/12/05/obtaining-certificate-used-to-sign-a-jwt/
由于后端Web服务位于单独的服务器上,我们是否需要以某种方式将公钥分发给它?另外,我们如何更新用于签署JWT的证书,因为它现在正在使用默认值?
最佳答案 x5t中的数据不是整个证书,它只是一个哈希来帮助您识别您拥有的证书是否相同.这意味着您需要将公共证书上载到接收服务.
使用https可以在握手中检索公共证书,然后客户端可以检查此证书是否由受信任的CA签名.然而,通过此验证,没有这样的机制,因此您不能只信任您必须信任每个公共证书的CA.
还有另一个可选标头’x5u’,其中包含指向公共证书的URL链接,但APIM未设置该值.