Azure active directory Azure API网关和身份验证
我们希望在Azure active directory Azure API网关和身份验证,azure-active-directory,azure-api-management,Azure Active Directory,Azure Api Management,我们希望在Azure B2C模型中发布API,客户将使用我们的应用程序访问基于Docker Swarm的Azure容器服务发布的API。我们在这里的假设是,该模型将需要Azure B2C广告,而不是Azure广告 所有API调用都将有一个从B2C AD发出的OAuth令牌 我们想知道,在令牌到达Azure容器服务上的微服务之前,集中验证令牌的最佳方法是什么。我们使用API网关将API调用路由到正确的微服务,同时还使用API网关中的WAF功能。但是,我们意识到,API网关在将请求转发给微服务之前,
Azure B2C
模型中发布API
,客户将使用我们的应用程序访问基于Docker Swarm
的Azure容器服务发布的API。我们在这里的假设是,该模型将需要Azure B2C广告
,而不是Azure广告
所有API调用都将有一个从B2C AD发出的OAuth
令牌
我们想知道,在令牌到达Azure容器服务上的微服务之前,集中验证令牌的最佳方法是什么。我们使用API网关
将API调用路由到正确的微服务,同时还使用API网关
中的WAF
功能。但是,我们意识到,API网关在将请求转发给微服务之前,不提供验证OAuth
令牌的方法
另外请注意,根据Microsoft Documentation
中的建议,我们有两个租户,其中一个租户运行所有服务,如数据库和微服务,另一个租户托管Azure B2C广告
您能否建议最好的选项来实现OAuth验证
,而不必在每个微服务中实现此验证。您可以做的一件事是将Azure API管理服务置于客户端和服务之间,您可以选择使用validate jwt策略检查令牌和授权呼叫。以下是步骤的简要概述:
在Azure AD中注册应用程序(后端应用程序)以表示API
在Azure AD中注册另一个应用程序(客户端应用程序),以表示需要调用API的客户端应用程序
在Azure AD中,授予允许客户端应用调用后端应用的权限
配置开发人员控制台以使用OAuth 2.0用户授权调用API
添加validate jwt策略以验证每个传入请求的OAuth令牌
有关详细步骤,请参考以下内容