Beispiel #1
0
        private Action <OpenIdConnectOptions> GetOpenIdConnectOptions(AzureAdB2COptions azureAdB2COptions, string policyName) =>
        (options) =>
        {
            options.Authority             = azureAdB2COptions.GetB2CAuthority(policyName);
            options.ClientId              = azureAdB2COptions.ClientId;
            options.ClientSecret          = azureAdB2COptions.ClientSecret;
            options.ResponseType          = OidcConstants.ResponseTypes.CodeIdToken;
            options.SignInScheme          = CookieAuthenticationDefaults.AuthenticationScheme;
            options.CallbackPath          = $"/signin/{policyName}";
            options.SignedOutCallbackPath = $"/signout/{policyName}";
            options.SaveTokens            = true;
            options.UseTokenLifetime      = true;
            foreach (string scope in azureAdB2COptions.Scopes.Split(' ', StringSplitOptions.RemoveEmptyEntries))
            {
                options.Scope.Add(scope);
            }
            options.TokenValidationParameters.NameClaimType = "name";
            options.TokenValidationParameters.RoleClaimType = "role";

            options.Events.OnAuthorizationCodeReceived += OnAuthorizationCodeReceived;
            options.Events.OnRemoteFailure             += OnRemoteFailureHandler;
        };