Dela via


Registrera externa användare till branschspecifika program med Microsoft Entra B2B

Programutvecklare kan använda Microsoft Entra B2B för att registrera och samarbeta med externa användare i verksamhetsspecifika program (LOB). På samma sätt som knappen Dela i många Office 365-program kan programutvecklare skapa en inbjudan med ett klick i LOB-program som är integrerade med Microsoft Entra-ID.

Förmånerna omfattar:

  • Användarregistrering och åtkomst till LOB-programmen. Användare har åtkomst med några få steg
  • Externa användare tar med sig sin identitet och utför enkel inloggning (SSO)
  • Extern identitetsetablering till Microsoft Entra-ID
  • Microsoft Entra-principer för villkorlig åtkomst och åtkomst mellan klientorganisationer för att framtvinga auktoriseringsprinciper, till exempel multifaktorautentisering

Integreringsflöde

Följ det här mönstret för att integrera LOB-program med Microsoft Entra B2B:

Skärmbild som visar integreringen av LOB-program.

  1. Slutanvändaren utlöser inbjudan i LOB-programmet och tillhandahåller den externa användarens e-postadress. Programmet kontrollerar om användaren redan finns, och om de inte gör det fortsätter du till Skapa och skicka inbjudan|
  2. Programmet skickar en POST till Microsoft Graph API för användarens räkning. Den innehåller omdirigerings-URL:en och den externa användarens e-post som definieras i Bekräfta att den externa användaren finns i katalogen.
  3. Microsoft Graph API etablerar gästanvändaren i Microsoft Entra-ID.
  4. Microsoft Graph API returnerar statusen för lyckade ir-fel för API-anropet. Om det lyckas innehåller svaret microsoft Entra-användarobjekt-ID och inbjudningslänken som skickas till den inbjudna användarens e-post. Du kan ignorera Microsoft-e-postmeddelandet och skicka din egen anpassade e-post.
  5. (Valfritt) Om du vill skriva fler attribut till den inbjudna användaren eller lägga till den inbjudna användaren i en grupp. Programmet gör ett extra API-anrop till Microsoft Graph API.
  6. (Valfritt) Microsoft Graph-API:et uppdaterar Microsoft Entra-ID:t.
  7. (Valfritt) Microsoft Graph API returnerar statusen lyckad eller misslyckad till programmet.
  8. Programmet etablerar användaren till sin databas eller serverdelsanvändarkatalog med hjälp av objektets ID-attribut som det oföränderliga ID:t.
  9. Programmet visar statusen lyckades eller misslyckades för slutanvändaren.

Om tilldelning krävs för åtkomst till LOB-programmet tilldelas den inbjudna gästanvändaren till programmet med en programroll. Aktivera den här åtgärden som ett annat API-anrop som lägger till den inbjudna gästen i en grupp eller automatiserar medlemskap med dynamiska Microsoft Entra-medlemskapsgrupper. Dynamiska medlemskapsgrupper kräver inte något annat API-anrop av programmet. De uppdateras dock lika snabbt som när en användare läggs till i en grupp via användarinbjudan.

Bekräfta att den externa användaren finns i katalogen

Det är möjligt att den externa användaren har bjudits in och registrerats. LOB-programmet kontrollerar om användaren finns i katalogen. Gör ett API-anrop till Microsoft Graph-API:et och presentera matchningarna för den inbjudande användaren som användaren kan välja.

Till exempel:

Application Permission: User.read.all

GET https://graph.microsoft.com/v1.0/users?$filter=othermails/any(id:id eq 'userEmail@contoso.com')  

Om du får användarinformation i svaret finns användaren i katalogen. Presentera de användare som returneras till den inbjudande användaren. Tillåt användare att välja den externa användare som får åtkomst. Om du vill ge användaren åtkomst till programmet gör du API-anrop eller utlöser andra processer.

Skapa och skicka inbjudan

Om den externa användaren inte finns i katalogen använder du Microsoft Entra B2B för att bjuda in användaren och registrera dem i din Microsoft Entra-klientorganisation. Ta reda på vad som ska ingå i inbjudan till Microsoft Graph API.

Använd följande element:

  • Uppmana slutanvändaren att ange den externa användarens e-postadress
  • Fastställa den inbjudnings-URL som omdirigerar inbjudna användare när de har autentiserat och löst in B2B-inbjudan
    • URL:en kan vara en allmän landningssida eller dynamiskt bestäms av LOB-programmet baserat på var slutanvändaren utlöste inbjudan

Fler flaggor och attribut för inbjudan:

  • Inbjudet visningsnamn för användare
  • Standardmeddelande för Microsoft-inbjudan eller utelämna standardmeddelandet för att skapa din egen

När programmet har samlat in nödvändig information måste programmet SKICKA begäran till Inbjudningshanteraren för Microsoft Graph API. Kontrollera att programregistreringen har behörigheter i Microsoft Entra-ID.

Till exempel:

Delegated Permission: User.Invite.All

POST https://graph.microsoft.com/v1.0/invitations  
Content-type: application/json

{ 
"invitedUserDisplayName": "John Doe",  
"invitedUserEmailAddress": "john.doe@contoso.com",  
"sendInvitationMessage": true,  
"inviteRedirectUrl": "https://customapp.contoso.com"  
} 

Kommentar

Om du vill se alternativ för JSON-brödtexten i inbjudan läser du resurstypen för inbjudan i Microsoft Graph v1.0.

Programutvecklare kan registrera externa användare med hjälp av Microsoft Entra-självbetjäningspaket för registrering eller behörighetshantering. Skapa en inbjudningsknapp i ditt LOB-program som utlöser ett anpassat e-postmeddelande med självbetjäningsregistrerings-URL eller en URL för åtkomstpaket. Den inbjudna användaren registrerar och kommer åt programmet.

(Valfritt) Skriva andra attribut till Microsoft Entra-ID

Viktigt!

Att ge ett program behörighet att uppdatera användare i din katalog är en mycket privilegierad åtgärd. Om du beviljar programmet dessa behörigheter med hög behörighet kan du skydda och övervaka din LOB-app.

Din organisation eller LOB-programmet kan kräva information som lagras för framtida användning, till exempel anspråk som genererar i token eller detaljerade auktoriseringsprinciper. När externa användare bjuds in eller skapas i Microsoft Entra-ID kan ett program göra ett annat API-anrop för att uppdatera dem. Programmet måste ha extra API-behörigheter och ett extra anrop till Microsoft Graph API.

Om du vill uppdatera användaren använder du objekt-ID:t för den skapade gästanvändaren från inbjudans-API-anropet, ID-värdet i API-svaret från existenskontrollen eller inbjudan. Du kan skriva till valfritt standardattribut eller anpassade tilläggsattribut.

Till exempel:

Application Permission: User.ReadWrite.All

PATCH https://graph.microsoft.com/v1.0/users/<user's object ID> 
Content-type: application/json

{ 
"businessPhones": [ 
        "+1 234 567 8900" 
    ], 
"givenName": "John" 
"surname": "Doe", 
"extension_cf4ff515cbf947218d468c96f9dc9021_appRole": "external" 
} 

Mer information finns i Uppdatera användare i Microsoft Graph v1.0.

(Valfritt) Tilldela den inbjudna användaren till en grupp

Kommentar

Om användartilldelning inte krävs för att komma åt programmet kan du hoppa över det här steget.

Om användartilldelning krävs i Microsoft Entra-ID för programåtkomst eller rolltilldelning tilldelas användaren till programmet. Annars kan användaren inte få åtkomst oavsett autentisering. Om du vill lägga till den inbjudna externa användaren i en grupp gör du ett annat API-anrop. Gruppen tilldelas till programmet och mappas till en programroll.

Ett behörighetsexempel: Tilldela rollen Gruppuppdatering eller en anpassad roll till företagsprogrammet. Omfång för rolltilldelningen till de grupper som programmet uppdaterar. Eller tilldela behörigheten group.readwrite.all i Microsoft Graph API.

POST https://graph.microsoft.com/v1.0/groups/<insert group id>/members/$ref 
Content-type: application/json

{ 
"@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/<insert user id>" 
} 

Mer information finns i Lägga till medlemmar i Microsoft Graph v1.0.

Du kan också använda dynamiska Microsoft Entra-medlemskapsgrupper som automatiskt tilldelar användare baserat på specifika attribut, till exempel userType, e-post eller ett anpassat attribut. Men om användaråtkomsten är tidskänslig rekommenderas inte den här metoden eftersom dynamiska medlemskapsgrupper kan ta upp till 24 timmar att fylla i.

Om du använder dynamiska medlemskapsgrupper ska du inte lägga till användarna i en grupp med ett annat API-anrop. Skapa i stället en grupp som lägger till användaren som gruppmedlem baserat på attribut som userType, e-post eller ett anpassat attribut. Mer information finns i Skapa eller redigera en dynamisk grupp och hämta status.

Etablera den inbjudna användaren till programmet

När den inbjudna externa användaren har etablerats i Microsoft Entra-ID returnerar Microsoft Graph API ett svar med användarinformation som objekt-ID och e-post. LOB-programmet etablerar användaren till dess katalog eller databas. Etableringen varierar beroende på programmets och den interna katalogtyp som programmet använder.

Med den externa användaren etablerad i Microsoft Entra-ID och programmet meddelar LOB-programmet den initierande användaren att processen lyckades. Den inbjudna användaren får enkel inloggning med sin identitet utan att den inbjudande organisationen registrerar och utfärdar extra autentiseringsuppgifter. Microsoft Entra ID tillämpar auktoriseringsprinciper med villkorlig åtkomst, Microsoft Entra multifaktorautentisering och Microsoft Entra ID Protection.

Övriga beaktanden

Kontrollera att felhanteringen är klar i LOB-programmet. Programmet validerar varje API-anrop. Om det inte lyckas är extra försök eller felmeddelanden användbara.

För att LOB-program ska kunna uppdatera inbjudna externa användare beviljar du en anpassad roll som gör att programmet kan uppdatera användare och tilldela omfång till en dynamisk administrativ enhet. Skapa till exempel en dynamisk administrativ enhet med användare där usertype = gäst. När externa användare registreras i Microsoft Entra-ID läggs de till i den administrativa enheten. LOB-programmet måste försöka uppdatera användaren och det kan ta mer än ett försök om det uppstår fördröjningar. Trots fördröjningar gör metoden att LOB-programmet kan uppdatera externa användare utan att ge det behörighet att uppdatera någon användare i katalogen.