Asp.net mvc Azure AD B2C-将自定义流与内置用户流相结合

Asp.net mvc Azure AD B2C-将自定义流与内置用户流相结合,asp.net-mvc,openid-connect,azure-ad-b2c,Asp.net Mvc,Openid Connect,Azure Ad B2c,我有一个asp.net MVC应用程序,它使用Azure AD B2C对用户进行身份验证 到目前为止,我们只使用内置用户流进行注册和登录,但现在我为特定场景创建了一个自定义流。我将此入门文档用于自定义流: 我的问题是,内置流生成的令牌由与新自定义流生成的令牌不同的密钥签名 在startup.cs中,我引用了默认内置流的MetaDataAddress(其中包含对签名密钥的引用) 验证新的自定义流令牌时,它不应验证到上面定义的元数据地址中的密钥,而应验证到不同的签名密钥 如何确保对内置流和自定义流正

我有一个asp.net MVC应用程序,它使用Azure AD B2C对用户进行身份验证

到目前为止,我们只使用内置用户流进行注册和登录,但现在我为特定场景创建了一个自定义流。我将此入门文档用于自定义流:

我的问题是,内置流生成的令牌由与新自定义流生成的令牌不同的密钥签名

在startup.cs中,我引用了默认内置流的MetaDataAddress(其中包含对签名密钥的引用)

验证新的自定义流令牌时,它不应验证到上面定义的元数据地址中的密钥,而应验证到不同的签名密钥

如何确保对内置流和自定义流正确验证令牌? 或
如何确保在自定义流和内置流中创建的令牌使用相同的签名密钥。

不支持在用户流和自定义策略之间无缝工作。自定义策略中调用了会话管理技术配置文件-。或参观。这两个解决方案之间没有连接密钥的UX

调用Azure AD B2C(登录端点)的应用程序也不同,因为它必须在向Azure AD B2C端点提交请求时明确需要添加policyID

我见过的混合使用用户流和自定义策略的最常见场景:

  • 将用户流用于密码重置流和SUSI的自定义策略(注册登录)
  • 部署到独立运作的不同部门(两者之间不需要SSO)

添加一条IF语句以根据policyId设置metadataAddress如何?您不能让他们使用相同的签名密钥。
app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
{
    MetadataAddress = https://contoso.b2clogin.com/contoso.onmicrosoft.com/[built-in-flow]/v2.0/.well-known/openid-configuration,
}