Dela via


Lägga till ett anpassat arbetsflöde för godkännande i självbetjäningsregistrering

Gäller för:Grön cirkel med en vit bockmarkeringssymbol.Personalklientorganisationer Vit cirkel med en grå X-symbol. Externa klienter (läs mer)

Med API-anslutningsappar kan du integrera med dina egna anpassade arbetsflöden för godkännande med självbetjäningsregistrering så att du kan hantera vilka gästanvändarkonton som skapas i din klientorganisation.

Den här artikeln ger ett exempel på hur du integrerar med ett godkännandesystem. I det här exemplet samlar användarflödet för självbetjäningsregistrering in användardata under registreringsprocessen och skickar dem till ditt godkännandesystem. Sedan kan godkännandesystemet:

  • Godkänn användaren automatiskt och tillåt att Microsoft Entra-ID:t skapar användarkontot.
  • Utlös en manuell granskning. Om begäran godkänns använder godkännandesystemet Microsoft Graph för att etablera användarkontot. Godkännandesystemet kan också meddela användaren att deras konto har skapats.

Viktigt!

  • Från och med den 12 juli 2021, om Microsoft Entra B2B-kunder konfigurerar nya Google-integreringar för användning med självbetjäningsregistrering för sina anpassade eller branschspecifika program, fungerar inte autentisering med Google-identiteter förrän autentiseringar flyttas till systemwebbvyer. Läs mer.
  • Från och med den 30 september 2021 är Google inaktuellt stöd för inbäddad webbvisningsinloggning. Om dina appar autentiserar användare med en inbäddad webbvy och du använder Google-federation med Azure AD B2C eller Microsoft Entra B2B för externa användarinbjudningar eller självbetjäningsregistrering kommer Google Gmail-användare inte att kunna autentisera. Läs mer.

Registrera ett program för ditt godkännandesystem

Dricks

Stegen i den här artikeln kan variera något beroende på vilken portal du börjar från.

Du måste registrera ditt godkännandesystem som ett program i din Microsoft Entra-klientorganisation så att det kan autentisera med Microsoft Entra-ID och ha behörighet att skapa användare. Läs mer om grunderna för autentisering och auktorisering för Microsoft Graph.

  1. Logga in på administrationscentret för Microsoft Entra som minst användaradministratör.
  2. Bläddra till Identitetsprogram>> Appregistreringar och välj sedan Ny registrering.
  3. Ange ett namn för programmet, till exempel Registrera Godkännanden.
  4. Välj Registrera. Du kan lämna andra fält som standard.

Skärmbild som visar knappen Registrera.

  1. Under Hantera i den vänstra menyn väljer du API-behörigheter och sedan Lägg till en behörighet.
  2. På sidan Api-behörigheter för begäran väljer du Microsoft Graph och sedan Programbehörigheter.
  3. Under Välj behörigheter expanderar du Användare och markerar sedan kryssrutan User.ReadWrite.All . Med den här behörigheten kan godkännandesystemet skapa användaren vid godkännande. Välj Lägg till behörigheter.

Skärmbild av begäran om API-behörigheter.

  1. På sidan API-behörigheter väljer du Bevilja administratörsmedgivande för (ditt klientnamn) och väljer sedan Ja.
  2. Under Hantera i den vänstra menyn väljer du Certifikat och hemligheter och sedan Ny klienthemlighet.
  3. Ange en Beskrivning för hemligheten, till exempel Godkännanden klienthemlighet, och välj varaktigheten för när klienthemligheten upphör att gälla. Välj Lägg till.
  4. Kopiera värdet för klienthemligheten. Klienthemlighetsvärden kan endast visas omedelbart efter att de har skapats. Se till att spara hemligheten när den skapas innan du lämnar sidan.

Skärmbild av kopiering av klienthemligheten.

  1. Konfigurera ditt godkännandesystem för att använda program-ID:t som klient-ID och klienthemligheten som du genererade för att autentisera med Microsoft Entra-ID.

Skapa API-anslutningsappar

Nu ska du skapa API-anslutningsappar för ditt användarflöde för självbetjäningsregistrering. Api:et för godkännandesystemet behöver två anslutningsappar och motsvarande slutpunkter, till exempel som visas nedan. Dessa API-anslutningsappar gör följande:

  • Kontrollera godkännandestatus. Skicka ett anrop till godkännandesystemet omedelbart efter att en användare har loggat in med en identitetsprovider för att kontrollera om användaren har en befintlig godkännandebegäran eller redan har nekats. Om ditt godkännandesystem endast fattar beslut om automatiskt godkännande kanske den här API-anslutningsappen inte behövs. Exempel på api-anslutningsappen "Kontrollera godkännandestatus".

Skärmbild av kontrollera api-anslutningskonfigurationen för godkännandestatus.

  • Begäran om godkännande – Skicka ett anrop till godkännandesystemet när en användare har slutfört attributsamlingssidan, men innan användarkontot skapas för att begära godkännande. Begäran om godkännande kan beviljas automatiskt eller granskas manuellt. Exempel på en API-anslutningsapp för begärandegodkännande.

Skärmbild av api-anslutningskonfiguration för begärandegodkännande.

Om du vill skapa dessa anslutningsappar följer du stegen i skapa en API-anslutningsapp.

Aktivera API-anslutningsappar i ett användarflöde

Nu ska du lägga till API-anslutningsapparna i ett användarflöde för självbetjäningsregistrering med följande steg:

  1. Logga in på administrationscentret för Microsoft Entra som minst användaradministratör.

  2. Bläddra till Identitet>Externa identiteter>Användarflöden och välj sedan det användarflöde som du vill aktivera API-anslutningsappen för.

  3. Välj API-anslutningsappar och välj sedan de API-slutpunkter som du vill anropa i följande steg i användarflödet:

    • När du har federerat med en identitetsprovider under registreringen: Välj api-anslutningsappen för godkännandestatus, till exempel Kontrollera godkännandestatus.
    • Innan du skapar användaren: Välj api-anslutningsappen för godkännandebegäran, till exempel Begäran om godkännande.

Skärmbild av API-anslutningsappen i ett användarflöde.

  1. Välj Spara.

Kontrollera registreringsflödet med API-svar

Ditt godkännandesystem kan använda sina svar när det anropas för att styra registreringsflödet.

Begäran och svar för API-anslutningsappen "Kontrollera godkännandestatus"

Exempel på den begäran som tas emot av API:et från API-anslutningsappen "Kontrollera godkännandestatus":

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 exakta anspråk som skickas till API:et beror på vilken information som tillhandahålls av identitetsprovidern. "e-post" skickas alltid.

Fortsättningssvar för "Kontrollera godkännandestatus"

API-slutpunkten Kontrollera godkännandestatus bör returnera ett fortsättningssvar om:

  • Användaren har inte tidigare begärt ett godkännande.

Exempel på fortsättningssvaret:

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

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

Blockerande svar för "Kontrollera godkännandestatus"

API-slutpunkten Kontrollera godkännandestatus bör returnera ett blockerande svar om:

  • Användarens godkännande väntar.
  • Användaren nekades och bör inte tillåtas begära godkännande igen.

Följande är exempel på blockeringssvar:

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",
}

Begäran och svar för API-anslutningsappen "Begäran om godkännande"

Exempel på en HTTP-begäran som tas emot av API:et från API-anslutningsappen "Begär godkännande":

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 exakta anspråk som skickas till API:et beror på vilken information som samlas in från användaren eller tillhandahålls av identitetsprovidern.

Fortsättningssvar för "Begärandegodkännande"

API-slutpunkten för begärandegodkännande bör returnera ett fortsättningssvar om:

  • Användaren kan godkännas automatiskt.

Exempel på fortsättningssvaret:

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

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

Viktigt!

Om ett fortsättningssvar tas emot skapar Microsoft Entra-ID ett användarkonto och dirigerar användaren till programmet.

Blockera svar för "Begärandegodkännande"

API-slutpunkten för begärandegodkännande bör returnera ett blockerande svar om:

  • En begäran om användargodkännande skapades och väntar nu.
  • En begäran om användargodkännande nekades automatiskt.

Följande är exempel på blockeringssvar:

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",
}

I userMessage svaret visas för användaren, till exempel:

Exempel på väntande godkännandesida

Skapa användarkonto efter manuellt godkännande

När det anpassade godkännandesystemet har fått manuellt godkännande skapar det ett användarkonto med hjälp av Microsoft Graph. Hur ditt godkännandesystem etablerar användarkontot beror på den identitetsprovider som användes av användaren.

För en federerad Google- eller Facebook-användare och e-postlösenord för engångslösenord

Viktigt!

Godkännandesystemet bör uttryckligen kontrollera att identities, identities[0] och identities[0].issuer finns och som identities[0].issuer är lika med "facebook", "google" eller "mail" för att använda den här metoden.

Om användaren har loggat in med ett Google- eller Facebook-konto eller ett engångslösenord via e-post kan du använda API:et för att skapa användare.

  1. Godkännandesystemet använder tar emot HTTP-begäran från användarflödet.
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. Godkännandesystemet använder Microsoft Graph för att skapa ett användarkonto.
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 Obligatoriskt Beskrivning
userPrincipalName Ja Kan genereras genom att ta anspråket email som skickas till API:et, ersätta @tecknet med _och vänta till .#EXT@<tenant-name>.onmicrosoft.com
accountEnabled Ja Måste anges till true.
e-post Ja Motsvarar anspråket som email skickas till API:et.
userType Ja Måste vara Guest. Anger den här användaren som gästanvändare.
Identiteter Ja Den federerade identitetsinformationen.
<otherBuiltInAttribute> Nej Andra inbyggda attribut som displayName, cityoch andra. Parameternamn är samma som de parametrar som skickas av API-anslutningsappen.
<extension_{extensions-app-id}_CustomAttribute> Nej Anpassade attribut om användaren. Parameternamn är samma som de parametrar som skickas av API-anslutningsappen.

För en federerad Microsoft Entra-användare eller Microsoft-kontoanvändare

Om en användare loggar in med ett federerat Microsoft Entra-konto eller ett Microsoft-konto måste du använda inbjudnings-API:et för att skapa användaren och sedan eventuellt använda uppdaterings-API:et för att tilldela fler attribut till användaren.

  1. Godkännandesystemet tar emot HTTP-begäran från användarflödet.
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. Godkännandesystemet skapar inbjudan med hjälp av den email som tillhandahålls av API-anslutningsappen.
POST https://graph.microsoft.com/v1.0/invitations
Content-type: application/json

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

Exempel på svaret:

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

{
    ...
    "invitedUser": {
        "id": "<generated-user-guid>"
    }
}
  1. Godkännandesystemet använder den inbjudna användarens ID för att uppdatera användarens konto med insamlade användarattribut (valfritt).
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"
}

Nästa steg