我有一个Azure MVC应用程序,它使用asp.net AD B2C对用户进行身份验证。
到目前为止,我们只使用内置的用户流程进行注册和登录,但现在我为特定的场景创建了一个自定义流程。我使用了定制流程的入门文档:https://docs.microsoft.com/en-us/azure/active-directory-b2c/custom-policy-get-started
我的问题是,由内置流生成的令牌使用与新自定义流生成的令牌不同的密钥进行签名。
在startup.cs中,我引用了缺省内置流的MetaDataAddress (它引用了其中的签名密钥)
app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
{
MetadataAddress = https://contoso.b2clogin.com/contoso.onmicrosoft.com/[built-in-flow]/v2.0/.well-known/openid-configuration,
}
当新的自定义流令牌被验证时,它不应该验证到上面定义的元数据地址中的密钥,而是验证到一个不同的签名密钥。
如何确保令牌对于内置和自定义流都进行了正确的验证?或者如何确保在自定义流程和内置流程中创建的令牌使用相同的签名密钥。
发布于 2020-11-20 00:54:20
或访问here to read and different session managements。
调用Azure AD B2C (登录端点)的应用程序也不同-因为它必须在向Azure AD B2C端点提交请求时显式添加policyID。
我见过的混合使用用户流和自定义策略的最常见的场景是:
使用user flow实现密码重置流程和使用SUSI的自定义策略的
https://stackoverflow.com/questions/64915324
复制相似问题