我创建了Azure服务总线,客户端能够使用Shared Access Token访问服务总线。所有这些都运行得很好,现在我们希望使用Azure AD实现身份验证。
这是我们到目前为止所知道的:
1.使用Azure AD,我们将注册客户端。
1.每个注册的客户端都将获得一个ID和Secret。
1.我们将使用此ID、Secret和AppID(服务总线ID)从Azure AD获取访问令牌
1.此调用将返回访问令牌。
1.然后,我们使用请求标头将访问令牌传递到Azure Service Bus以发布或获取消息。
我的问题是Azure服务总线实际上是如何验证该令牌的?我见过另一个例子,在这个例子中,客户端使用的API或服务使用如下程序验证访问令牌:https://github.com/mauliksoni/aad-token-validation/blob/main/DotNetFramewrork/validate.cs&然后只允许用户访问令牌。
理想情况下,服务应该自己验证访问令牌,不应该有任何需要通过外部程序验证令牌。
1条答案
按热度按时间3zwjbxry1#
您不需要进行任何外部验证,只要服务主体获得了正确的RBAC角色来执行所需的操作(发送/接收/管理),服务就会为您执行剩余的令牌验证。