Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在注册后为Azure AD B2C用户设置信息?_Azure_Asp.net Core_Azure Active Directory_Azure Ad B2c - Fatal编程技术网

如何在注册后为Azure AD B2C用户设置信息?

如何在注册后为Azure AD B2C用户设置信息?,azure,asp.net-core,azure-active-directory,azure-ad-b2c,Azure,Asp.net Core,Azure Active Directory,Azure Ad B2c,在我的应用程序中,我有以下场景: 用户首先使用SignUp SignIn user flow在应用程序中注册,因此此时将在Azure AD B2C中创建用户。然后,当用户开始使用应用程序时,我想向用户添加一些信息,并在下一次授权期间在令牌中检索这些信息 我想向用户添加的信息如下: 1-我在数据库中用于存储与所创建用户相关的数据的标识符 2-一些应用程序角色(例如,客户、店主…)-在这里,如果我可以阻止用户基于该角色发出请求,那就太好了,但在请求执行后在代码中检查它也没什么大不了的 我的想法是使用

在我的应用程序中,我有以下场景:

用户首先使用SignUp SignIn user flow在应用程序中注册,因此此时将在Azure AD B2C中创建用户。然后,当用户开始使用应用程序时,我想向用户添加一些信息,并在下一次授权期间在令牌中检索这些信息

我想向用户添加的信息如下:

1-我在数据库中用于存储与所创建用户相关的数据的标识符

2-一些应用程序角色(例如,客户、店主…)-在这里,如果我可以阻止用户基于该角色发出请求,那就太好了,但在请求执行后在代码中检查它也没什么大不了的

我的想法是使用Graph API并将此数据以自定义属性分配给用户,因此此数据始终由API管理,用户不能自行更改

然后我在想,如果将这种方法与组混合也可以是一种选择,那么一些请求将只对属于某个组的用户可用


实现我的要求的最佳方法是什么?

开箱即用的AAD B2C注册登录用户流不公开任何与安全组相关的功能

如果您想在B2C中使用组声明,请选择通过自定义(IEF)策略添加一些自定义代码。见和

为了达到您的要求,您可以使用您提到的

请注意,如果您不希望用户自己设置自定义属性,则无需在“在用户流中使用自定义属性”下执行第三步:

  • 选择用户属性,然后选择自定义属性(例如,“ShoeSize”)。单击保存
  • 创建自定义属性后,可以和

    使用Microsoft Graph更新用户的自定义属性:

    PATCH https://graph.microsoft.com/v1.0/users/userID
    
    {"extension_831374b3bd5041bfaa54263ec9e050fc_ShoeSize": "123"}
    

    然后您可以在令牌中获得自定义属性声明,如下所示:
    “extension\u ShoeSize”:“123”

    如果我跳过您提到的步骤3,这里实际上有一个很大的限制,我可以使用GraphApi设置/获取自定义属性值,但如果令牌不在用户符号中,则无法获取该值up@Roesmi我已经在你的新帖子中回复了。谢谢@Aleen Wu,你的回答是正确的,它工作正常。谢谢