Sitecore authenticatie met Azure B2C en aangepast beleid deel 1

Er is een groot aantal OAuth-systemen waarmee u verbinding kunt maken voor authenticatie van uw websitegebruikers.

Hier volgen enkele inzichten over hoe u verbinding kunt maken met Azure B2C. Het laat u zien hoe u het kunt configureren en in deel 2 zullen we een aantal aangepaste beleidsregels behandelen met behulp van B2C.

Door Danny Paul van Iersel, 04-6-2024

Configureer Sitecore om B2c te gebruiken

Voor de koppeling met B2C op Sitecore Authenticatie maken wij gebruik van OpenIdConnect.

Belangrijke opmerking bij het gebruik van OpenIdConnect en het gebruik van de TokenClient om het token dat we ontvangen te lezen. Wij gebruiken het IdentityModel pakket, de versie is cruciaal omdat Sitecore deze ook gebruikt. Voor Sitecore gebruikt de Identity Server uit de Sitecore Back-End login versie 3.6.1.

Dit moet overeenkomen met onze implementatie, anders krijgen we afhankelijkheidsproblemen als we proberen in te loggen op Sitecore zelf.

Onderdelen die we nodig hebben om de B2C-verbinding te laten werken:

  • Configuratiebestand voor pijplijn en federated authenticatie
    • Stel een pijplijn in voor owin.identityProviders en voeg een processor toe
    • Maak een FederatedAuthentication aan en neem de verwijzing naar onze IdentityProvider op
    • Configureer de IdentityProvider met aanvullende transformatie die we willen gebruiken voor onze claims
  • Maak een Sitecore.Owin.Authentication.Services.DefaultExternalUserBuilder – CustomExternalUserBuilder
  • Maak IdentityProvidersProcessor
    • De middleware die we gebruiken om onze OpenIdConnect-verzoeken af ​​te handelen.

Registratie van B2C in Azure

Binnen uw Azure-abonnement selecteert u ‘Een resource maken’. Zoek naar B2C.

Maak een Azure Active Directory B2C.

B2C_Toevoegen_Van_Feature

We hebben de mogelijkheid om:

  • Maak een nieuwe Azure AD B2C-tenant
  • Koppel een bestaande Azure B2C aan het huidige abonnement

B2C_Toevoegen_Nieuwe_Tenant

Voor deze demo hebben we een nieuwe Tenant aangemaakt.

Zodra we een nieuwe Tenant hebben aangemaakt, vinden we deze Tenant onder onze bronnen.

Op het overzicht vindt u midden in het scherm de mogelijkheid om de B2C Tenant te openen.

B2C_openen_B2C

U wordt dan doorgestuurd naar de nieuwe Tenant.

Het kan soms verwarrend zijn dat al uw bronnen lijken te zijn verdwenen. Dit komt omdat we nu in een andere directory zitten. Deze directory is speciaal bedoeld voor de B2C-tenant.

Bij het ontwikkelen en wisselen van de ene directory naar de andere kan het voorkomen dat je de regie kwijtraakt. Houd er rekening mee dat u uw directory bovenaan uw scherm controleert, onder uw profielnaam (of e-mailadres).

Vanuit de B2C kunnen we een standaard gebruikersstroom configureren. Dit is de gemakkelijkste manier om onze verbinding te testen en ervoor te zorgen dat onze omleidingen en terugbelverzoeken correct werken.

Ga naar de gebruikersstromen en kies “Nieuwe gebruikersstroom”. We vinden het gemakkelijk om de aanmeldings- en inlogstroom te gebruiken, omdat deze al verschillende functies bevat die we later nodig zullen hebben.

Selectie_gebruikers_stroom

Vervolgens kunt u het beleid configureren.

  • Eigenschappen
  • Identiteitsproviders
    • U kunt verbinding maken met andere providers. De huidige lijst die wordt ondersteund:

Huidige_lijst_identity_providers

  • Gebruikersattributen
    • Selecteer welke attributen beschikbaar zijn voor de gebruikers
    • Dit wordt gebruikt voor het aanmeldingsproces en gebruikers wordt gevraagd deze informatie in te vullen
  • Toepassingsclaims
    • De claims die naar uw aanvraag worden verzonden
  • API-connectoren
    • U kunt verbinding maken met andere API’s om extra logica toe te voegen voordat u een gebruiker aanmaakt via de aanmeldingsstroom
  • Pagina-indelingen
    • Pas uw lay-out van de inlog- of aanmeldingsstroom aan
  • Talen
    • Mogelijkheid om vertalingen te gebruiken

B2C_Selectie_Instellingen

Zodra we onze stroom hebben geconfigureerd, moeten we onze eigen applicatie registreren. Hierdoor is het mogelijk dat onze applicatie koppelt met onze B2C.

  • Een nieuwe registratie toevoegen:
  • Vul de naam van uw aanvraag in
  • Kies welke accounts worden ondersteund
  • Omleidings-URI:

B2C_Applicatie_registratie

Configuratie bestand

Nu zullen we onze code configureren. Laten we eerst eens kijken naar het configuratiebestand dat moet worden gepatcht.

Sitecore_Confiiguratie_bestand

Hier hebben we de volgende secties geconfigureerd:

  • Pipeline:
    • De pipeline om owin.identityProviders op te nemen
  • Federated authenticatie
    • We configureren de federated authenticatie waarbij gebruik wordt gemaakt van onze identiteitsprovider
  • Identiteitsproviders
    • Configuratie van de Identity Provider
      • Parameters
      • Onderschrift
      • Domein
      • Transformaties

Vervolgens moeten we onze Provider Processor configureren.

Provider processor

In onze Provider Processor configureren we de instellingen voor de Identity-provider en behandelen we de opties voor omleiden en callbacks.

Hier ziet u de basisconfiguratie voor onze Identity Provider Processor.

Sitecore_basis_configuratie_provider

In de ProcessCore-methode voegen we het volgende toe:

Sitecore_IdentityProvider_ProcessorCore

De variabelen zoals ClientID en Secret moeten worden opgeslagen in elk configuratiebestand of site-instellingen binnen de Sitecore-omgeving.

De maximale leeftijd van het Client Secret is 24 maanden, houd er rekening mee dat deze variabele instelbaar moet zijn.

We maken een nieuwe set opties voor de OpenIdConnectAuthenticationOptions.

Het MetadataAddress bevat de configuratie van de B2C URL’s. Het zal de gebruiker naar het inlogscherm leiden dat is ontworpen voor het beleid dat we hebben geconfigureerd.

Met Notificaties stellen we de callback in zodra de gebruiker heeft ingelogd. Als de authenticatie is mislukt of als we een authenticatiecode ontvangen.

Uiteindelijk moeten we onze applicatie registreren om de authenticatie te gebruiken. Met args.App.UseOpenIdConnectAuthentication(openIdAuthOptions); we hebben de applicatie ingesteld om deze configuratie te gebruiken voor onze identiteitsprovider.

Sitecore_IdentityProvider_OnAuthorizationCodeReceived

Samenvatting van onze implementatie

We hebben de provider ingesteld en de volgende instellingen geconfigureerd die moeten worden gebruikt:

  • Tenant
    • De tenantnaam van onze B2C Azure Active Directory
  • Beleid
    • Het beleid dat we binnen Azure B2C hebben geconfigureerd om te gebruiken voor onze inlog-/aanmeldingsstroom
  • Omleidings-URL
    • De URL waar we naar terugkeren na het inloggen, bijvoorbeeld https://<Uw Sitecore URL>/signin-oidc”
  • Klant identificatie
    • Het applicatie-(client)-ID uit de applicatieregistratie
  • Klantgeheim
    • Het geheim dat we hebben geconfigureerd bij de B2C-applicatieregistratie
      • Houd er rekening mee dat de maximale leeftijd van dit geheim 24 maanden is

We kunnen nu onze OpenIdConnectAuthenticationOptions instellen. De opties die we instellen zijn:

  • Metagegevensadres
  • Klant identificatie
  • Klantgeheim
  • RedirectUrl
  • Reactietype
  • Meldingen (een type OpenIdConnectAuthenticationNotifications)
    • Hier kunnen we de taken definiëren die moeten worden uitgevoerd wanneer de autorisatiecode is ontvangen of de authenticatie is mislukt.
  • TokenValidationParameters
  • Domein

Het laatste deel is het registreren van onze applicatie om OpenIdConnect te gebruiken:

args.App.UseOpenIdConnectAuthentication(openIdAuthOptions);

Conclusie

Na het instellen van onze provider hebben we een pagina nodig waarop de inlogmethoden kunnen worden weergegeven.

var args = new GetSignInUrlInfoArgs("website", url);

args.Result.ToList();

Hiermee kunnen wij onze inlogmogelijkheden doorlopen. Het is geweldig om mee te werken en heel gemakkelijk aan te passen.

Om te weten hoe u de B2C custom policies moet configureren lees ons tweede deel: Sitecore authentication with Azure B2C Custom policies Part 2

 

Heeft u problemen met uw authenticatie-instellingen of heeft u hulp nodig? Neem contact met ons op.

Wij helpen u graag.

Contacteer ons

Klaar om je digitale ervaring naar een hoger niveau te tillen? Neem gerust contact met ons op voor meer informatie over onze diensten en hoe we jou kunnen helpen het volledige potentieel van je digitale marketing te benutten.

Vertel ons over je project

En we komen met een oplossing op maat

Neem contact op met één van onze consultants om de perfecte match te vinden die bij je past en waarmee je kunt groeien.

Cookie Policy

Onze site maakt gebruik van cookies om de website-ervaring te verbeteren. Door onze website te gebruiken, gaat u akkoord met ons gebruik van cookies. Klik hier voor meer informatie.

Voorkeur opslaan