MSAL B2C 浏览器注册登录用户流程

MSAL B2C Browser signup sign in user flow

我正在使用 B2C MSAL Browser.js

我有一个有效的注册登录流程,但是当我想将 extraQueryParameter 传递到注册页面时,它会在用户点击注册按钮后被清除。

const request = {
    scopes: [process.env.id],
    extraQueryParameters: { id: "123" },
  };

 msalInstance.loginRedirect(request);

我可以在登录时看到添加了查询参数,但是当我点击注册时它被删除了,有没有办法将它传递给注册,或者直接点击注册页面而无需创建单独的用户流?

注意:您必须使用自定义策略。

放大@JasSuri 所说的内容:

参数在query string

在身份验证请求结束时,您可以:

.....&id=123

在注册的技术资料中,添加:

<Item Key="IncludeClaimResolvingInClaimsHandling">true</Item>

到元数据。

假设“queryID”是注册页面上的一个文本框。

然后在您的注册中输入声明:

<InputClaim ClaimTypeReferenceId="queryID" DefaultValue="{OAUTH-KV:id}" AlwaysUseDefaultValue="true"/>

然后您还可以在您的用户旅程中使用“queryID”。