当新用户在我的ASP.NET核心应用程序中注册时,我需要为用户创建一个新的“组织帐户”以及“用户帐户”。我希望Azure AD B2C能够处理用户帐户,但我想在后端处理组织帐户。
组织帐户允许多个用户共享帐户。该过程可以像向Azure AD B2C发送我将用于该帐户的新GUID
值一样简单。我希望此帐户ID包含在JWT
令牌声明中。
如何将此帐户ID传递给Azure AD B2C?将帐户ID传递给Azure AD B2C非常重要,因为我可以在处理将新用户添加到现有组织帐户时使用该方法。
那么,如何在用户注册期间将一些值从我的后端传递到Azure AD B2C?
P.S。我想进一步澄清将新用户添加到现有组织帐户的过程。组织帐户admin将邀请发送给另一个用户。此邀请将允许我提取现有帐户ID并将其传递给Azure AD B2C,以便在JWT
令牌中可以包含帐户ID。最好添加组织帐户名称,例如AccountName: Acme, Inc.
和AccountId: 7f6818d9-4167-4a57-99ee-2f313a230a7b
答案 0 :(得分:0)
不幸的是,当您发送请求时,没有支持的方法将任何声明(例如帐户ID)发送到Azure AD B2C。它肯定在积压中,但尚未确定何时可用。
虽然使用自定义政策可能有一些替代方案,但不确定其中任何一项是否有用。
1)使用邀请时设置邀请的电子邮件地址在Azure AD B2C租户中创建用户帐户。那时,您可以在扩展属性中添加AccountId和AccountName。
用户成功注册后(包括设置密码),AccountId和AccountName可以包含在令牌中。
2)创建一个包含电子邮件的外部商店 - > accountid / accountname mapping。当用户在Azure AD B2C中注册时,您可以调用Rest API以获取帐户ID和帐户名称并发送令牌。
答案 1 :(得分:0)
您可以通过创建自己的JWT向B2C发送声明。不幸的是,这个过程没有官方指南。它还要求您使用Custom Policies
。
参考:Require Input Claims From JWT From RelyingParty in Azure AD B2C