默认情况下,Azure ad B2C密码重置链接使用注册/登录策略终结点重定向

时间:2019-01-18 15:49:09

标签: angular openid-connect azure-ad-b2c

我正在使用azure广告B2C,在设置了政策之后,我发现 单击时会在注册或登录页面上显示“您忘记了密码链接”重定向到同一登录或注册端点的url,在我的auth.guard中该URL进行检查授权,如果为true,则将用户重定向到主页;如果为false,则将重定向

我认为默认情况下,应该将重设密码链接连接到我创建的重设密码策略,但这似乎并非如此。

我正在使用angular-oidc-auth-client API进行设置和连接,这是我在app.modules.ts中的配置

export class AppModule {
    constructor(public oidcSecurityService: OidcSecurityService, private oidcConfigService: OidcConfigService) {
        this.oidcConfigService.onConfigurationLoaded.subscribe(() => {
            console.log('OpenID Configuration loaded');
            console.log(oidcConfigService.clientConfiguration);

            const openIDImplicitFlowConfiguration = new OpenIDImplicitFlowConfiguration();
            openIDImplicitFlowConfiguration.stsServer = 'https://xxxxxx.b2clogin.com/xxxxxx.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1_b2c_signup_signin'
            openIDImplicitFlowConfiguration.redirect_url = 'http://localhost:29895/login-redirect';
            openIDImplicitFlowConfiguration.client_id = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx';
            openIDImplicitFlowConfiguration.response_type = 'id_token';
            openIDImplicitFlowConfiguration.scope = 'openid';
            openIDImplicitFlowConfiguration.post_login_route = '/login-redirect';
            openIDImplicitFlowConfiguration.post_logout_redirect_uri ='http://localhost:29895/content/dashboard';
            openIDImplicitFlowConfiguration.forbidden_route = '/Forbidden';
            openIDImplicitFlowConfiguration.log_console_warning_active = true;
            openIDImplicitFlowConfiguration.log_console_debug_active = true;
            openIDImplicitFlowConfiguration.max_id_token_iat_offset_allowed_in_seconds = 50;

            const authWellKnownEndpoints = new AuthWellKnownEndpoints();
            authWellKnownEndpoints.setWellKnownEndpoints(this.oidcConfigService.wellKnownEndpoints);

            this.oidcSecurityService.setupModule(openIDImplicitFlowConfiguration, authWellKnownEndpoints);
        });        
    }
}

您如何获得“忘记密码了”链接,以获取我的重置密码政策的流程?在天蓝色门户网站之外或我的app.modules中是否需要配置任何东西?

1 个答案:

答案 0 :(得分:1)

  

我认为默认情况下应该连接重置密码链接   到我创建的重置密码策略,但这似乎不是   情况。

在AADB2C中,请求流无法像这样工作。如果用户单击“重置密码”链接,AADB2C会使用特定的错误代码(AADB2C90118)重定向到依赖方服务(主服务)。然后,依赖方服务应调用重置密码策略流。

The code sample link to catch the error and then redirect to reset password handler

相关问题