连接两个自定义策略
Connect two custom policies
我已经实现了 custom-mfa-totp 示例。我定义了一个允许重置二维码的自定义策略。一切正常。
现在我要说的是将这两项政策联系起来。让我们假设以下场景:
- 用户注册我的 B2C
- 用户登录,需要安装认证APP才能获取验证码
- 用户已登录
- 一个月后,用户必须重新安装该应用程序(原因不明)。如果他去登录,需要一个验证码:
我的想法是添加一种link以打开其他策略以重置二维码。在文档中,我看到了添加 Actions 的可能性,但我一直无法弄清楚如何添加。
有什么提示吗?
我已经添加了:
但是为了以正确的方式重定向,我需要上一页的参数,例如'client_Id'和redirect_url
。
您可以在自定义 HTML 中添加一个 link 到 myapp.com/launchPolicyX
。然后应用程序应该使用您最喜欢的 OpenId 库发出新的身份验证请求。
假设您已经知道如何 customize the UI, you can add ContentDefinitionParameters to your Relying Party policy to pass params to your HTML template. You can use claim resolvers 得到 client_id 和 redirect_uri:
<ContentDefinitionParameters>
<Parameter Name="client_id">{OIDC:ClientId}</Parameter>
<Parameter Name="redirect_uri">{OIDC:RedirectUri}</Parameter>
</ContentDefinitionParameters>
可以通过 JavaScript 通过解析来自 SETTINGS.remoteResource
的查询字符串来访问这些值。当身份体验框架加载相应的内容定义时,SETTINGS
对象将被注入到您的 HTML 模板中。请注意 SETTINGS
对象是内部 API 的一部分,可能会在 page layout versions.
之间变化
现在您有了 client_id 和 redirect_uri,您可以使用 JavaScript 为另一个策略生成 link,尽管在策略重定向中包含原始随机数可能也是个好主意。
我已经实现了 custom-mfa-totp 示例。我定义了一个允许重置二维码的自定义策略。一切正常。
现在我要说的是将这两项政策联系起来。让我们假设以下场景:
- 用户注册我的 B2C
- 用户登录,需要安装认证APP才能获取验证码
- 用户已登录
- 一个月后,用户必须重新安装该应用程序(原因不明)。如果他去登录,需要一个验证码:
我的想法是添加一种link以打开其他策略以重置二维码。在文档中,我看到了添加 Actions 的可能性,但我一直无法弄清楚如何添加。 有什么提示吗?
我已经添加了:
但是为了以正确的方式重定向,我需要上一页的参数,例如'client_Id'和redirect_url
。
您可以在自定义 HTML 中添加一个 link 到 myapp.com/launchPolicyX
。然后应用程序应该使用您最喜欢的 OpenId 库发出新的身份验证请求。
假设您已经知道如何 customize the UI, you can add ContentDefinitionParameters to your Relying Party policy to pass params to your HTML template. You can use claim resolvers 得到 client_id 和 redirect_uri:
<ContentDefinitionParameters>
<Parameter Name="client_id">{OIDC:ClientId}</Parameter>
<Parameter Name="redirect_uri">{OIDC:RedirectUri}</Parameter>
</ContentDefinitionParameters>
可以通过 JavaScript 通过解析来自 SETTINGS.remoteResource
的查询字符串来访问这些值。当身份体验框架加载相应的内容定义时,SETTINGS
对象将被注入到您的 HTML 模板中。请注意 SETTINGS
对象是内部 API 的一部分,可能会在 page layout versions.
现在您有了 client_id 和 redirect_uri,您可以使用 JavaScript 为另一个策略生成 link,尽管在策略重定向中包含原始随机数可能也是个好主意。