Azure AD B2C - 如何实现自定义注册过程?

时间:2017-10-09 14:30:45

标签: azure azure-ad-b2c azure-ad-graph-api asp.net-core-2.0

这基本上是我的上一个问题的后续问题 - https://stackoverflow.com/a/44738654/2896495。我在我的网络应用程序(.NET Core 2.0)中实现了Azure B2C注册和身份验证,现在我想使用Graph API添加自定义注册逻辑(如此处所述 - https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet)。 但我对应用注册感到困惑。对于B2C auth,我在Azure AD B2C下的Portal中创建了一个应用程序 - >应用。现在,为了使用自定义注册逻辑,我需要在Portal下进行另一个应用注册 - >应用注册 - >新应用程序注册(我可以向Azure AD授予必要的权限,例如读取和写入目录数据)。

所以,如果我需要auth和自定义叹息,我应该如何设置我的应用程序?这样做的正确方法是什么?

3 个答案:

答案 0 :(得分:1)

为了简单起见,以及关注点的健康分离,我确实会为自定义注册创建一个单独的应用程序。它不一定是一个成熟的应用程序,一个微型服务,主要B2C应用程序的注册会很好。

答案 1 :(得分:1)

如果您想使用custom attribute来实施自定义注册过程,则需要将两个应用注册为您在帖子中提到的文档。一个应用程序用于与Azure AD B2C集成以进行登录,另一个应用程序使用Azure AD Graph查询自定义属性。

之后,您可以使用Azure AD Graph REST查询相关信息并在Web应用程序中处理您自己的业务逻辑。要查询扩展信息,我们只需要查询以下用户信息:

enter image description here

答案 2 :(得分:0)

如果您只是尝试拥有自己的外观,而不是使用徽标和其他品牌的默认模板,那么请考虑为UI自定义提供模板:

https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-ui-customization

另外,请看另一个类似问题的答案:

Azure AD B2C UI Customization

如果您正在尝试完整的不同工作流程,则需要创建自定义策略。

https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-overview-custom

或者如果这不起作用,那么我猜你可以使用GraphApi,但这是最费力的选择,并且首先完全破坏了使用B2C的整个目的。我不推荐这种方法。

<强>更新

我不会在自定义策略中执行您想要执行的所有操作。将注册分成它自己的应用程序/服务将是一个很好的方法(如@camsoper建议的那样),但仅使用策略来创建初始帐户或验证已批准用户所需的裸金额。我从来没有使用过政策来改变&#34; accountActive&#34;属性,但我倾向于使用GraphApi在创建帐户后使用&#34; NewAccount&#34;来修改用户配置文件。关键的属性。有一个&#34; Block登录&#34;在azure门户中设置用户配置文件,可用于限制访问(注册应用程序可以在创建帐户后设置默认值),但我不确定它是否与&#34; accountActive&相对应#34;属性与否(尚未)。

您所描述的大多数管理都可以在天蓝色的门户中完成,例如更改&#34;阻止登录&#34;用户配置文件上的设置可用于限制访问(注册应用程序可以在创建帐户后设置默认值)。如果门户网站没有提供某些功能,我会将其放入单独的应用程序中。避免在自定义管理应用中复制功能,而只需将管理员重定向到&#34; portal.azure.com&#34;中的用户个人资料。

https://portal.azure.com/#blade/Microsoft_AAD_IAM/UserDetailsMenuBlade/Profile/userId/{objectId}

注意:如果管理员可以访问其帐户的多个目录,则该网址模板可能存在一些问题。默认情况下,它会尝试拉出她的帐户创建的目录。