大佬教程收集整理的这篇文章主要介绍了在我的 Delphi rest API 中验证 Azure AD 客户端令牌,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个用 Delphi 编写的 Rest API,需要验证任何客户端(例如 JavaScript SPA Web 客户端)传入的 Azure Active Directory Web 令牌是否有效并且适用于我的 Azure 注册应用程序。
我能够使用 jose-jwt 生成我自己的令牌并验证它们。 https://blogs.embarcadero.com/delphi-jose-jwt-is-a-powerful-json-web-token-library-for-delphi/ 但是,我无法弄清楚如何使用 jose-jwt 库验证 AAD 令牌。
我按照这些说明 (https://www.voitanos.io/blog/validaTing-azure-ad-generated-oauth-tokens/) 从 Microsoft 的站点手动获取与 AAD 令牌中的“kID”属性匹配的公钥,但我如何将其与 jose-jwt 一起使用来验证 AAD 令牌是否包含我难倒。我曾尝试使用它作为秘密,但 jose-jwt 库给了我一个错误“密钥不是 PEM 格式的 RSA 密钥”。
事实证明,微软在其应用程序范围的令牌标头中添加了一个“nonce”,而 jose-jwt 并不喜欢这种方式。这篇文章解释了这一切。 https://xsreality.medium.com/making-azure-ad-oidc-compliant-5734b70c43ff
一旦我添加了自己的范围,jose-jwt 就接受了公钥,因为标头不包含“nonce”
以上是大佬教程为你收集整理的在我的 Delphi rest API 中验证 Azure AD 客户端令牌全部内容,希望文章能够帮你解决在我的 Delphi rest API 中验证 Azure AD 客户端令牌所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。