对于Sping Boot (API REST)中的Web应用程序 + Angular作为前端,我们需要与Azure B2C集成以进行身份验证。
我正在阅读一些微软文档,但我没有使用Azure B2C的经验。
需要验证从Azure上的客户端应用程序(Angular)获取的访问令牌,然后使用从数据库获取的用户角色和权限生成(从Java应用程序)自定义JWT令牌(ID令牌)。我们无法将角色放在Azure AD上。
此时,客户端(Angular)和服务器(API REST) 只会使用此标记来处理API调用。
我不明白的是如何通过Spring Framework验证Azure访问令牌。应该调用哪个Microsoft Web服务以及如何调用(哪个库)
先谢谢你。
1条答案
按热度按时间bmvo0sr51#
我认为这个问题的答案应该可以让你开始:How to validate JWT token generated from Azure AD B2C in Java?
AD B2C访问令牌“只是”一个oauth2令牌,因此任何可以验证oauth2的库都应该进行验证。
编辑(尚不能添加评论):我认为这个链接(链接在其他答案中)是你最好的开始:https://learn.microsoft.com/en-us/azure/active-directory-b2c/tokens-overview。无论如何,您需要一个特定于租户的url来获得正确的键,类似于https://contoso.b2clogin.com/contoso.onmicrosoft.com/b2c_1_signupsignin1/discovery/v2.0/keys,而不是通用的microsoft键。
或者,您可以查看microsoft提供的java和b2c示例应用程序,它使用msal for java:https://github.com/Azure-Samples/ms-identity-java-webapp/tree/master/msal-b2c-web-sample