Delen via


Een aangepaste goedkeuringswerkstroom toevoegen aan de self-serviceregistratie

Van toepassing op:Groene cirkel met een wit vinkje.Externe tenantsWitte cirkel met een grijs X-symbool.van werknemers (meer informatie)

Met API-connectoren kunt u integreren met uw eigen aangepaste goedkeuringswerkstromen met self-serviceregistratie, zodat u kunt beheren welke gastgebruikersaccounts in uw tenant worden gemaakt.

In dit artikel ziet u een voorbeeld van hoe u kunt integreren met een goedkeuringssysteem. In dit voorbeeld verzamelt de gebruikersstroom voor self-serviceregistratie gebruikersgegevens tijdens het registratieproces en geeft deze door aan het goedkeuringssysteem. Vervolgens kan het goedkeuringssysteem het volgende doen:

  • Keur de gebruiker automatisch goed en sta Microsoft Entra-id toe om het gebruikersaccount te maken.
  • Een handmatige beoordeling activeren. Als de aanvraag is goedgekeurd, gebruikt het goedkeuringssysteem Microsoft Graph om het gebruikersaccount in te richten. Het goedkeuringssysteem kan de gebruiker ook informeren dat het account is gemaakt.

Belangrijk

Een toepassing registreren voor uw goedkeuringssysteem

Tip

Stappen in dit artikel kunnen enigszins variëren op basis van de portal waaruit u begint.

U moet uw goedkeuringssysteem registreren als een toepassing in uw Microsoft Entra-tenant, zodat het kan worden geverifieerd met Microsoft Entra-id en gemachtigd bent om gebruikers te maken. Meer informatie over de basisbeginselen van verificatie en autorisatie voor Microsoft Graph.

  1. Meld u aan bij het Microsoft Entra-beheercentrum als ten minste een gebruiker Beheer istrator.
  2. Blader naar Identiteitstoepassingen>> App-registraties en selecteer vervolgens Nieuwe registratie.
  3. Voer een naam in voor de toepassing, bijvoorbeeld Goedkeuringen registreren.
  4. Selecteer Registreren. Laat de andere velden op de standaardwaarden staan.

Schermopname met de knop Registreren gemarkeerd.

  1. Selecteer bij Beheren in het linkermenu de optie API-machtigingen en selecteer vervolgens Een machtiging toevoegen.
  2. Selecteer op de pagina API-machtigingen aanvragen de optie Microsoft Graph en selecteer vervolgens Toepassingsmachtigingen.
  3. Vouw onder Machtigingen selecteren de optie Gebruiker uit en schakel het selectievakje User.ReadWrite.All in. Met deze machtiging kan het goedkeuringssysteem de gebruiker maken na goedkeuring. Selecteer vervolgens Machtigingen toevoegen.

Schermopname van het aanvragen van API-machtigingen.

  1. Op de pagina API-machtigingen selecteert u Beheerderstoestemming verlenen voor (naam van de tenant) en vervolgens Ja.
  2. Selecteer onder Beheren in het linkermenu Certificaten en geheimen en selecteer vervolgens Nieuw clientgeheim.
  3. Voer een beschrijving in voor het geheim, bijvoorbeeld Goedkeuringen voor clientgeheim en selecteer de tijdsduur waarna het clientgeheim verloopt. Selecteer vervolgens Toevoegen.
  4. Kopieer de waarde van het clientgeheim. Waarden voor clientgeheimen kunnen pas direct na het maken worden weergegeven. Zorg ervoor dat u het geheim opslaat wanneer u het maakt, voordat u de pagina verlaat.

Schermopname van het kopiëren van het clientgeheim.

  1. Configureer uw goedkeuringssysteem om de toepassings-id te gebruiken als de client-id en het clientgeheim dat u hebt gegenereerd voor verificatie met Microsoft Entra-id.

API-connectors maken

Vervolgens maakt u de API-connectors voor uw gebruikersstroom voor self-serviceregistratie. De API van het goedkeuringssysteem heeft twee connectors en bijbehorende eindpunten nodig, zoals in de onderstaande voorbeelden wordt getoond. Deze API-connectors doen het volgende:

  • De goedkeuringsstatus controleren. Direct nadat een gebruiker zich heeft aangemeld met een id-provider om te controleren of de gebruiker een bestaande goedkeuringsaanvraag heeft of al is geweigerd, verzend u een aanroep naar het goedkeuringssysteem. Als uw goedkeuringssysteem alleen automatische goedkeuringsbeslissingen neemt, is deze API-connector mogelijk niet nodig. Voorbeeld van de API-connector Goedkeuringsstatus controleren.

Schermopname van de configuratie van de API-connector voor goedkeuringsstatus controleren.

  • Goedkeuring aanvragen: verzend een aanroep naar het goedkeuringssysteem nadat een gebruiker de pagina met kenmerkverzamelingen heeft voltooid, maar voordat het gebruikersaccount wordt gemaakt, om goedkeuring aan te vragen. De goedkeuringsaanvraag kan automatisch worden verleend of handmatig worden beoordeeld. Voorbeeld van de API-connector Goedkeuring aanvragen.

Schermopname van de configuratie van de API-connector voor goedkeuring van aanvragen.

Volg de stappen in het een API-connector maken om deze connectors te maken.

API-connectors inschakelen in een gebruikersstroom

Nu voegt u de API-connectors toe aan een gebruikersstroom voor self-serviceregistratie aan de hand van de volgende stappen:

  1. Meld u aan bij het Microsoft Entra-beheercentrum als ten minste een gebruiker Beheer istrator.

  2. Blader naar Gebruikersstromen> voor externe identiteiten>en selecteer vervolgens de gebruikersstroom waarvoor u de API-connector wilt inschakelen.

  3. Selecteer API-connectors en selecteer vervolgens de API-eindpunten die u wilt aanroepen in de volgende stappen in de gebruikersstroom:

    • Nadat u zich tijdens de registratie hebt gefedereerd met een id-provider: selecteer de API-connector voor de goedkeuringsstatus, bijvoorbeeld Goedkeuringsstatus controleren.
    • Voordat u de gebruiker maakt: selecteer de API-connector voor uw goedkeuringsaanvraag, bijvoorbeeld Goedkeuring aanvragen.

Schermopname van API-connector in een gebruikersstroom.

  1. Selecteer Opslaan.

De registratiestroom beheren met API-antwoorden

Uw goedkeuringssysteem kan de antwoorden gebruiken wanneer deze wordt aangeroepen om de registratiestroom te beheren.

Aanvraag en antwoorden voor de API-connector Goedkeuringsstatus controleren

Voorbeeld van de aanvraag die door de API is ontvangen van de API-connector Goedkeuringsstatus controleren:

POST <API-endpoint>
Content-type: application/json

{
 "email": "johnsmith@fabrikam.onmicrosoft.com",
 "identities": [ //Sent for Google, Facebook, and Email One Time Passcode identity providers 
     {
     "signInType":"federated",
     "issuer":"facebook.com",
     "issuerAssignedId":"0123456789"
     }
 ],
 "displayName": "John Smith",
 "givenName":"John",
 "lastName":"Smith",
 "ui_locales":"en-US"
}

De exacte claims die naar de API worden verzonden, zijn afhankelijk van welke informatie wordt verstrekt door de id-provider. 'e-mail' wordt altijd verzonden.

Vervolgantwoord voor Goedkeuringsstatus controleren

Het API-eindpunt Goedkeuringsstatus controleren moet een vervolgantwoord retourneren als:

  • De gebruiker heeft nog geen goedkeuring aangevraagd.

Voorbeeld van het vervolgantwoord:

HTTP/1.1 200 OK
Content-type: application/json

{
    "version": "1.0.0",
    "action": "Continue"
}

Blokkeringsantwoord voor Goedkeuringsstatus controleren

Het API-eindpunt Goedkeuringsstatus controleren moet een blokkeringsantwoord retourneren als:

  • Goedkeuring van de gebruiker in behandeling is.
  • De gebruiker geweigerd is en geen goedkeuring meer mag aanvragen.

Hier volgen voorbeelden van blokkeringsantwoorden:

HTTP/1.1 200 OK
Content-type: application/json

{
    "version": "1.0.0",
    "action": "ShowBlockPage",
    "userMessage": "Your access request is already processing. You'll be notified when your request has been approved.",
}
HTTP/1.1 200 OK
Content-type: application/json

{
    "version": "1.0.0",
    "action": "ShowBlockPage",
    "userMessage": "Your sign up request has been denied. Please contact an administrator if you believe this is an error",
}

Aanvraag en antwoorden voor de API-connector Goedkeuring aanvragen

Voorbeeld van een HTTP-aanvraag die door de API is ontvangen van de API-connector Goedkeuring aanvragen:

POST <API-endpoint>
Content-type: application/json

{
 "email": "johnsmith@fabrikam.onmicrosoft.com",
 "identities": [ // Sent for Google, Facebook, and Email One Time Passcode identity providers 
     {
     "signInType":"federated",
     "issuer":"facebook.com",
     "issuerAssignedId":"0123456789"
     }
 ],
 "displayName": "John Smith",
 "givenName":"John",
 "surname":"Smith",
 "jobTitle":"Supplier",
 "streetAddress":"1000 Microsoft Way",
 "city":"Seattle",
 "postalCode": "12345",
 "state":"Washington",
 "country":"United States",
 "extension_<extensions-app-id>_CustomAttribute1": "custom attribute value",
 "extension_<extensions-app-id>_CustomAttribute2": "custom attribute value",
 "ui_locales":"en-US"
}

De exacte claims die naar de API worden verzonden, zijn afhankelijk van welke gegevens worden verzameld van de gebruiker of worden verstrekt door de id-provider.

Vervolgantwoord voor Goedkeuring aanvragen

Het API-eindpunt Goedkeuring aanvragen moet een vervolgantwoord retourneren als:

  • De gebruiker automatisch kan worden goedgekeurd.

Voorbeeld van het vervolgantwoord:

HTTP/1.1 200 OK
Content-type: application/json

{
    "version": "1.0.0",
    "action": "Continue"
}

Belangrijk

Als er een vervolgantwoord wordt ontvangen, maakt Microsoft Entra ID een gebruikersaccount en stuurt de gebruiker naar de toepassing.

Blokkeringsantwoord voor Goedkeuring aanvragen

Het API-eindpunt Goedkeuring aanvragen moet een blokkeringsantwoord retourneren als:

  • Er is een goedkeuringsaanvraag voor gebruikers gemaakt en die is nu in behandeling.
  • Een goedkeuringsaanvraag voor gebruikers is automatisch geweigerd.

Hier volgen voorbeelden van blokkeringsantwoorden:

HTTP/1.1 200 OK
Content-type: application/json

{
    "version": "1.0.0",
    "action": "ShowBlockPage",
    "userMessage": "Your account is now waiting for approval. You'll be notified when your request has been approved.",
}
HTTP/1.1 200 OK
Content-type: application/json

{
    "version": "1.0.0",
    "action": "ShowBlockPage",
    "userMessage": "Your sign up request has been denied. Please contact an administrator if you believe this is an error",
}

userMessage in het antwoord wordt aan de gebruiker weergegeven, bijvoorbeeld:

Pagina met voorbeeld van goedkeuring in behandeling

Gebruikersaccount maken na handmatige goedkeuring

Nadat het aangepaste goedkeuringssysteem handmatige goedkeuring heeft verkregen, wordt er een gebruikersaccount gemaakt met behulp van Microsoft Graph. De manier waarop uw goedkeuringssysteem het gebruikersaccount in richt, is afhankelijk van de id-provider die door de gebruiker is gebruikt.

Voor een federatieve Google- of Facebook-gebruiker en eenmalige wachtwoordcode voor e-mail

Belangrijk

Het goedkeuringssysteem moet expliciet controleren of identities, identities[0] en aanwezig zijn en identities[0].issuer dat identities[0].issuer gelijk is aan 'facebook', 'google' of 'mail' om deze methode te gebruiken.

Als uw gebruiker zich heeft aangemeld met een Google- of Facebook-account of een eenmalige wachtwoordcode voor e-mail, kunt u de API voor het maken van gebruikers gebruiken.

  1. Het goedkeuringssysteem ontvangt de HTTP-aanvraag van de gebruikersstroom.
POST <Approvals-API-endpoint>
Content-type: application/json

{
 "email": "johnsmith@outlook.com",
 "identities": [
     {
     "signInType":"federated",
     "issuer":"facebook.com",
     "issuerAssignedId":"0123456789"
     }
 ],
 "displayName": "John Smith",
 "city": "Redmond",
 "extension_<extensions-app-id>_CustomAttribute": "custom attribute value",
 "ui_locales":"en-US"
}
  1. Het goedkeuringssysteem maakt gebruik van Microsoft Graph om een gebruikersaccount te maken.
POST https://graph.microsoft.com/v1.0/users
Content-type: application/json

{
 "userPrincipalName": "johnsmith_outlook.com#EXT@contoso.onmicrosoft.com",
 "accountEnabled": true,
 "mail": "johnsmith@outlook.com",
 "userType": "Guest",
 "identities": [
     {
     "signInType":"federated",
     "issuer":"facebook.com",
     "issuerAssignedId":"0123456789"
     }
 ],
 "displayName": "John Smith",
 "city": "Redmond",
 "extension_<extensions-app-id>_CustomAttribute": "custom attribute value"
}
Parameter Vereist Beschrijving
userPrincipalName Ja Kan worden gegenereerd door de email-claim die naar de API is verzonden, waardoor het @-teken door_ wordt vervangen en het vooraan toe te voegen aan #EXT@<tenant-name>.onmicrosoft.com.
accountEnabled Ja Moet worden ingesteld op true.
e-mail Ja Gelijk aan de email-claim die naar de API is verzonden.
userType Ja Moet Guest zijn. Wijst deze gebruiker aan als gastgebruiker.
identiteiten Ja De federatieve identiteitsgegevens.
<otherBuiltInAttribute> Nee Andere ingebouwde kenmerken, zoals displayName, city en andere. Parameternamen zijn dezelfde als de parameters die door de API-connector worden verzonden.
<extension_{extensions-app-id}_CustomAttribute> Nee Aangepaste kenmerken over de gebruiker. Parameternamen zijn dezelfde als de parameters die door de API-connector worden verzonden.

Voor een federatieve Microsoft Entra-gebruiker of Microsoft-accountgebruiker

Als een gebruiker zich aanmeldt met een federatief Microsoft Entra-account of een Microsoft-account, moet u de uitnodigings-API gebruiken om de gebruiker te maken en vervolgens optioneel de API voor het bijwerken van de gebruiker om meer kenmerken toe te wijzen aan de gebruiker.

  1. Het goedkeuringssysteem ontvangt de HTTP-aanvraag van de gebruikersstroom.
POST <Approvals-API-endpoint>
Content-type: application/json

{
 "email": "johnsmith@fabrikam.onmicrosoft.com",
 "displayName": "John Smith",
 "city": "Redmond",
 "extension_<extensions-app-id>_CustomAttribute": "custom attribute value",
 "ui_locales":"en-US"
}
  1. Het goedkeuringssysteem maakt de uitnodiging met behulp van de email afkomstig van de API-connector.
POST https://graph.microsoft.com/v1.0/invitations
Content-type: application/json

{
    "invitedUserEmailAddress": "johnsmith@fabrikam.onmicrosoft.com",
    "inviteRedirectUrl" : "https://myapp.com"
}

Voorbeeld van het antwoord:

HTTP/1.1 201 OK
Content-type: application/json

{
    ...
    "invitedUser": {
        "id": "<generated-user-guid>"
    }
}
  1. Het goedkeuringssysteem gebruikt de id van de uitgenodigde gebruiker om het account van de gebruiker bij te werken met verzamelde gebruikerskenmerken (optioneel).
PATCH https://graph.microsoft.com/v1.0/users/<generated-user-guid>
Content-type: application/json

{
    "displayName": "John Smith",
    "city": "Redmond",
    "extension_<extensions-app-id>_AttributeName": "custom attribute value"
}

Volgende stappen