Een aangepaste goedkeuringswerkstroom toevoegen aan de self-serviceregistratie
Van toepassing op:Externe tenantsvan 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
- Vanaf 12 juli 2021, als Microsoft Entra B2B-klanten nieuwe Google-integraties hebben ingesteld voor gebruik met selfserviceregistratie voor hun aangepaste of line-of-business-toepassingen, werkt verificatie met Google-identiteiten pas als verificaties worden verplaatst naar systeemwebweergaven. Meer informatie.
- Vanaf 30 september 2021 biedt Google geen ondersteuning meer voor aanmelden via ingesloten webweergaven. Als uw apps gebruikers verifiëren met een ingesloten webweergave en u Google-federatie gebruikt met Azure AD B2C of Microsoft Entra B2B voor uitnodigingen voor externe gebruikers of selfserviceregistratie, kunnen Google Gmail-gebruikers zich niet verifiëren. Meer informatie.
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.
- Meld u aan bij het Microsoft Entra-beheercentrum als ten minste een gebruiker Beheer istrator.
- Blader naar Identiteitstoepassingen>> App-registraties en selecteer vervolgens Nieuwe registratie.
- Voer een naam in voor de toepassing, bijvoorbeeld Goedkeuringen registreren.
- Selecteer Registreren. Laat de andere velden op de standaardwaarden staan.
- Selecteer bij Beheren in het linkermenu de optie API-machtigingen en selecteer vervolgens Een machtiging toevoegen.
- Selecteer op de pagina API-machtigingen aanvragen de optie Microsoft Graph en selecteer vervolgens Toepassingsmachtigingen.
- 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.
- Op de pagina API-machtigingen selecteert u Beheerderstoestemming verlenen voor (naam van de tenant) en vervolgens Ja.
- Selecteer onder Beheren in het linkermenu Certificaten en geheimen en selecteer vervolgens Nieuw clientgeheim.
- Voer een beschrijving in voor het geheim, bijvoorbeeld Goedkeuringen voor clientgeheim en selecteer de tijdsduur waarna het clientgeheim verloopt. Selecteer vervolgens Toevoegen.
- 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.
- 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.
- 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.
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:
Meld u aan bij het Microsoft Entra-beheercentrum als ten minste een gebruiker Beheer istrator.
Blader naar Gebruikersstromen> voor externe identiteiten>en selecteer vervolgens de gebruikersstroom waarvoor u de API-connector wilt inschakelen.
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.
- 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:
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.
- 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"
}
- 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 . |
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.
- 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"
}
- 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>"
}
}
- 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"
}