Azure ad b2c 如何实现客户端API访问受Azure AD B2C保护的资源
我目前有一个Angular SPA应用程序,它使用Azure B2c授权用户,并使用令牌传递给微服务以获取/设置所有功能 我现在想构建一个API,客户端可以使用它自己访问微服务(直接或通过Azure API管理) 我找不到任何关于这方面的好文档,但理想情况下,我希望用户能够在我们的应用程序中创建“应用程序”,为他们提供API密钥和机密,然后他们可以用这些来交换JWT令牌,并将其传递给微服务——理想情况下生成的Azure B2C,这样它就可以使用与我们现在所做的相同的身份验证。 将密钥/秘密转换为令牌的API需要是非交互式的 Azure AD B2C现在支持ROPC,但这似乎并不合适,因为这将只使用用户用户名和密码,而我们不希望这样做(因为我希望用户能够撤销访问权) 我可以在Azure B2c外部构建这个系统-拥有自己的身份提供者,为API生成令牌,并在所有微服务上更改管道以拥有两个身份验证-一个用于Azure B2c令牌,一个用于自己的API身份验证,但希望有一个更精简的方法Azure ad b2c 如何实现客户端API访问受Azure AD B2C保护的资源,azure-ad-b2c,Azure Ad B2c,我目前有一个Angular SPA应用程序,它使用Azure B2c授权用户,并使用令牌传递给微服务以获取/设置所有功能 我现在想构建一个API,客户端可以使用它自己访问微服务(直接或通过Azure API管理) 我找不到任何关于这方面的好文档,但理想情况下,我希望用户能够在我们的应用程序中创建“应用程序”,为他们提供API密钥和机密,然后他们可以用这些来交换JWT令牌,并将其传递给微服务——理想情况下生成的Azure B2C,这样它就可以使用与我们现在所做的相同的身份验证。 将密钥/秘密转换为
有什么建议吗?在这种情况下,您将按照以下方式进行设计:
总之,用户身份验证受B2C用户流/策略和B2C令牌颁发者的保护。基于API的访问受B2C租户的AAD端点保护。由于两种身份验证机制都共享微服务,因此需要信任两个令牌颁发者。谢谢Jas-我将在接下来的几天内尝试此功能,然后标记答案,或者如果有任何问题,请告知您!嗨,Jas,我刚刚开始研究这个问题——有了客户ID和客户机密,我如何知道这与哪个“用户”相关?实际上,我需要检查应用程序注册是否有权访问某个帐户。现在使用Azure B2c,当我登录用户时,我将AccountID添加到令牌(通过身份体验框架回调)这里根本没有关联,您必须保留一个记录。您可以尝试将B2C用户作为所有者添加到应用程序注册中,作为标记此注册的一种方式。你不能真的修改该令牌中的声明,因为它是由AAD发布的,而不是B2C。啊,那么它仅仅是为了验证-所以我们会跟踪app注册和有访问权限的帐户?