Azure active directory 使用Azure AD B2C在注册期间添加帐户Id

Azure active directory 使用Azure AD B2C在注册期间添加帐户Id,azure-active-directory,azure-ad-b2c,Azure Active Directory,Azure Ad B2c,当一个新用户在我的ASP.NET核心应用程序中注册时,我需要为该用户创建一个新的“组织帐户”以及一个“用户帐户”。我希望Azure AD B2C处理用户帐户,但我希望在我的后端处理组织帐户 组织帐户允许多个用户共享一个帐户。这个过程可能非常简单,只需向Azure AD B2C发送我将用于帐户的新GUID值。我希望此帐户Id包含在JWT令牌声明中 如何将此帐户Id传递给Azure AD B2C?将帐户Id传递给Azure AD B2C非常重要,因为我可以在处理向现有组织帐户添加新用户时使用这种方法

当一个新用户在我的ASP.NET核心应用程序中注册时,我需要为该用户创建一个新的“组织帐户”以及一个“用户帐户”。我希望Azure AD B2C处理用户帐户,但我希望在我的后端处理组织帐户

组织帐户允许多个用户共享一个帐户。这个过程可能非常简单,只需向Azure AD B2C发送我将用于帐户的新
GUID
值。我希望此帐户Id包含在
JWT
令牌声明中

如何将此帐户Id传递给Azure AD B2C?将帐户Id传递给Azure AD B2C非常重要,因为我可以在处理向现有组织帐户添加新用户时使用这种方法

那么,在用户注册期间,如何将一些值从后端传递到Azure AD B2C


另外,我想进一步澄清向现有组织帐户添加新用户的过程。组织帐户管理员向其他用户发送邀请。此邀请将允许我提取现有帐户Id并将其传递给Azure AD B2C,以便在
JWT
令牌中包含帐户Id。最好同时添加组织帐户名,例如
帐户名:Acme,Inc.
帐户ID:7f6818d9-4167-4a57-99ee-2f313a230a7b

不幸的是,在发送请求时,没有支持的方式将任何声明(例如帐户ID)发送到Azure AD B2C。它当然在待办事项中,但它何时可用还没有时间表

虽然可以使用自定义策略,但也有一些替代方案,不确定这些策略是否有用

1) 使用邀请时设置邀请的电子邮件地址在Azure AD B2C租户中创建用户帐户。此时,您可以在扩展属性中添加AccountId和AccountName

用户成功注册(包括设置密码)后,AccountId和AccountName可以包含在令牌中


2) 创建包含电子邮件->帐户ID/accountname映射的外部存储。当用户在Azure AD B2C中注册时,您可以调用Rest API以获取帐户id和帐户名称并发送令牌。

您可以通过创建自己的JWT向B2C发送声明。不幸的是,没有关于这个过程的官方指南。它还要求您使用
自定义策略


参考资料:

也许另一种解决方案是通过此处描述的Graph API手动处理整个过程:这样我就可以完全控制注册和登录过程。