从 JS 单页应用程序向 azure-ad-b2c 策略发送声明的示例

Example of sending claim to azure-ad-b2c policy from JS single page application

我正在使用 msal js 库将 SPA 重定向到 b2c 策略。

我找不到从 javascript 应用程序向 b2c 政策(如 extension_Brand)发送一些自定义声明的示例。

我找到的是 .NET 示例:https://github.com/Azure-Samples/active-directory-b2c-advanced-policies/blob/d62c3f9e573ac8b5a9adc1565c6254f632e2a531/wingtipgamesb2c/src/WingTipMusicWebApplication/Startup.cs#L108 但它使用.NET 库。

哪个 JS 库可以向 b2c 策略发送声明?

据我所知没有 JS 示例。

可以使用MSAL.js to send claims to B2C via the extraQueryParameters arg on loginPop, loginRedirect

对服务器进行 ajax 调用以获取 JWT,然后将该 JWT 传递给 B2C。


索赔在 that example here 中发送到 B2C:

context.ProtocolMessage.Parameters.Add("client_assertion_type", "urn:ietf:params:oauth:client-assertion-type:jwt-bearer");
context.ProtocolMessage.Parameters.Add("client_assertion", selfIssuedToken);

示例 JS 代码

服务器端示例只是发出 HTTP 请求,这意味着您可以在 JavaScript:

中做同样的事情
var client_assertion_type = encodeURIComponent("urn:ietf:params:oauth:client-assertion-type:jwt-bearer");

var jwtQueryParams = "client_assertion_type=" + client_assertion_type + "&client_assertion=" + jwt;

msalApp.loginRedirect(myScopes, jwtQueryParams);