A Microsoft Graph lehetővé teszi az erőforrások kezelését az Azure AD B2C-címtárban. Az Alábbi Microsoft Graph API-műveletek támogatottak az Azure AD B2C-erőforrások kezeléséhez, beleértve a felhasználókat, az identitásszolgáltatókat, a felhasználói folyamatokat, az egyéni szabályzatokat és a szabályzatkulcsokat. A következő szakaszokban található hivatkozások a művelethez tartozó Microsoft Graph API-referencia megfelelő lapjára irányulnak.
Megjegyzés
Az Azure AD B2C-címtárat programozott módon is létrehozhatja, valamint az Azure-előfizetéshez társított megfelelő Azure-erőforrást is. Ez a funkció nem a Microsoft Graph API-n, hanem az Azure REST API-n keresztül érhető el. További információ: B2C-bérlők – Létrehozás.
Ebből a videóból megismerheti az Azure AD B2C felhasználói migrálását a Microsoft Graph API használatával.
Előfeltételek
Az MS Graph API használatához és az Azure AD B2C-bérlő erőforrásainak használatához olyan alkalmazásregisztrációra van szükség, amely megadja az ehhez szükséges engedélyeket. A Felügyeleti alkalmazás által használható alkalmazásregisztráció létrehozásához kövesse a Microsoft Graph-alkalmazás regisztrálása című cikk lépéseit.
Felhasználók kezelése
Megjegyzés
Az Azure AD B2C jelenleg nem támogatja a címtárobjektumok speciális lekérdezési képességeit. Ez azt jelenti, hogy a lekérdezési $count$search paraméterek és a Nem (not), a Nem egyenlő (ne) és a () operátorokendsWith nem támogatottak a lekérdezési paraméterben$filter. További információkért tekintse meg a Microsoft Graph lekérdezési paramétereit és a Microsoft Graph speciális lekérdezési képességeit.
Vegye figyelembe, hogy a listaművelet csak engedélyezett telefonszámokat ad vissza. A következő telefonszámot engedélyezni kell a listaműveletekkel való használathoz.
Megjegyzés
A helyesen ábrázolt telefonszámokat az országkód és a telefonszám között szóközzel tárolja a rendszer. Az Azure AD B2C szolgáltatás jelenleg nem adja hozzá ezt a helyet alapértelmezés szerint.
A szoftveres OATH-jogkivonat egy szoftveralapú számgenerátor, amely az OATH időalapú egyszeri jelszó (TOTP) szabványt használja a többtényezős hitelesítéshez egy hitelesítő alkalmazáson keresztül. A Microsoft Graph API-val kezelheti a felhasználó által regisztrált szoftveres OATH-jogkivonatot:
Előre összeállított szabályzatok konfigurálása a regisztrációhoz, a bejelentkezéshez, a kombinált regisztrációhoz és a bejelentkezéshez, a jelszó-visszaállításhoz és a profilfrissítéshez.
Felhasználói folyamat hitelesítési módszerei (bétaverzió)
Válasszon egy mechanizmust, amely lehetővé teszi a felhasználók számára a helyi fiókokon keresztüli regisztrációt. A helyi fiókok azok a fiókok, ahol az Azure AD B2C elvégzi az identitásérvényesítést. További információ: b2cAuthenticationMethodsPolicy erőforrástípus.
Az Identity Experience Framework egy egyéni szabályzatban hivatkozott titkos kulcsokat tárol az összetevők közötti bizalom kialakításához. Ezek a titkos kulcsok lehetnek szimmetrikus vagy aszimmetrikus kulcsok/értékek. Az Azure Portalon ezek az entitások szabályzatkulcsokként jelennek meg.
A Microsoft Graph API szabályzatkulcsainak legfelső szintű erőforrása a Megbízható keretrendszer kulcskészlete. Minden billentyűkészlet legalább egy kulcsot tartalmaz. Kulcs létrehozásához először hozzon létre egy üres kulcskészletet, majd hozzon létre egy kulcsot a kulcskészletben. Létrehozhat egy manuális titkos kulcsot, feltölthet egy tanúsítványt vagy egy PKCS12-kulcsot. A kulcs lehet egy generált titkos kód, egy sztring (például a Facebook alkalmazás titkos kódja) vagy egy feltöltött tanúsítvány. Ha egy kulcskészlet több billentyűvel rendelkezik, csak az egyik kulcs aktív.
Az alkalmazásbővítmények tulajdonságai címtárként vagy Microsoft Entra-bővítményként is ismertek. Az Azure AD B2C-ben való kezeléshez használja az identityUserFlowAttribute erőforrástípust és a hozzá tartozó metódusokat.
Felhasználónként legfeljebb 100 könyvtárbővítmény-értéket tárolhat. Egy felhasználó címtárbővítmény-tulajdonságainak kezeléséhez használja az alábbi felhasználói API-kat a Microsoft Graphban.
Felhasználó frissítése: A címtárbővítmény tulajdonság értékének írása vagy eltávolítása a felhasználói objektumból.
Felhasználó lekérése: A felhasználó címtárbővítményének értékének lekérése. A tulajdonság alapértelmezés szerint a beta végponton keresztül lesz visszaadva, de csak a v1.0 végponton $select keresztül.
A felhasználói folyamatok esetében ezek a bővítménytulajdonságok az Azure Portal használatával kezelhetők. Egyéni szabályzatok esetén az Azure AD B2C létrehozza Önnek a tulajdonságot, amikor a szabályzat először ír értéket a bővítménytulajdonságba.
Megjegyzés
A Microsoft Entra ID-ban a címtárbővítmények kezelése a extensionProperty erőforrástípuson és a hozzá tartozó metódusokon keresztül történik. Mivel azonban a B2C-ben az alkalmazáson keresztül b2c-extensions-app használják őket, amelyeket nem szabad frissíteni, az Azure AD B2C-ben kezeli őket az identityUserFlowAttribute erőforrástípus és a hozzá tartozó metódusok használatával.
Bérlői használat
A címtárméret kvótájának lekéréséhez használja a Szervezeti adatok lekérése API-t. A lekérdezési paramétert a $select következő HTTP-kérésben látható módon kell hozzáadnia:
HTTP
GET https://graph.microsoft.com/v1.0/organization/organization-id?$select=directorySizeQuota
Cserélje le organization-id a szervezet vagy a bérlő azonosítóját.
A fenti kérésre adott válasz a következő JSON-kódrészlethez hasonló:
Ha kezelni szeretné a Microsoft Graphot, azt alkalmazásként is elvégezheti az alkalmazásengedélyek használatával, vagy delegált engedélyeket is használhat. Delegált engedélyek esetén a felhasználó vagy a rendszergazda hozzájárul az alkalmazás által kért engedélyekhez. Az alkalmazás delegált engedélyt kap arra, hogy bejelentkezett felhasználóként viselkedjen a célerőforrások hívásakor. Az alkalmazásengedélyeket olyan alkalmazások használják, amelyek nem igényelnek bejelentkezett felhasználót, ezért alkalmazásengedélyeket igényelnek. Emiatt csak a rendszergazdák engedélyezhetik az alkalmazásengedélyeket.
Megjegyzés
A felhasználói folyamatokon vagy egyéni szabályzatokon keresztül bejelentkező felhasználók delegált engedélyei nem használhatók a Microsoft Graph API delegált engedélyei ellen.
Ez a kódminta egy .NET Core-konzolalkalmazás, amely a Microsoft Graph SDK használatával kommunikál a Microsoft Graph API-val. A kód bemutatja, hogyan hívhatja meg az API-t egy Azure AD B2C-bérlő felhasználóinak programozott kezelésére.
Letöltheti a mintaarchívumot (*.zip), tallózhat az adattárban a GitHubon, vagy klónozhatja az adattárat:
Miután beszerezte a kódmintát, konfigurálja a környezethez, majd hozza létre a projektet:
Nyissa meg a projektet a Visual Studióban vagy a Visual Studio Code-ban.
Nyílt src/appsettings.json.
appSettings A szakaszban cserélje le your-b2c-tenant a bérlő nevét és Application (client) IDClient secret a felügyeleti alkalmazás regisztrációjának értékeit. További információ: Microsoft Graph-alkalmazás regisztrálása.
Nyisson meg egy konzolablakot az adattár helyi klónján belül, váltson a src könyvtárra, majd hozza létre a projektet:
Console
cd src
dotnet build
Futtassa az alkalmazást a dotnet következő paranccsal:
Console
dotnet bin/Debug/netcoreapp3.1/b2c-ms-graph.dll
Az alkalmazás megjeleníti a végrehajtható parancsok listáját. Lekérheti például az összes felhasználót, lekérhet egyetlen felhasználót, törölhet egy felhasználót, frissítheti a felhasználó jelszavát, és tömegesen importálhatja őket.
A mintakód a Microsoft Graph SDK-t használja, amelynek célja, hogy leegyszerűsítse a Microsoft Graphhoz hozzáférő, kiváló minőségű, hatékony és rugalmas alkalmazások létrehozását.
A Microsoft Graph API-ra irányuló bármely kéréshez hozzáférési jogkivonat szükséges a hitelesítéshez. A megoldás a Microsoft.Graph.Auth NuGet-csomagot használja, amely a Microsoft Authentication Library (MSAL) hitelesítési forgatókönyvalapú burkolóját biztosítja a Microsoft Graph SDK-val való használathoz.
A RunAsync Program.cs fájl metódusa:
Beolvassa az alkalmazásbeállításokat az appsettings.json fájlból
Inicializálja a hitelesítésszolgáltatót az OAuth 2.0 ügyfél hitelesítő adatainak átadási folyamatával. Az ügyfél hitelesítő adatainak átadási folyamatával az alkalmazás hozzáférési jogkivonatot tud lekérni a Microsoft Graph API meghívásához.
Beállítja a Microsoft Graph szolgáltatásügyfélt a hitelesítésszolgáltatóval:
C#
// Read application settings from appsettings.json (tenant ID, app ID, client secret, etc.)
AppSettings config = AppSettingsFile.ReadFromJsonFile();
// Initialize the client credential auth providervar scopes = new[] { "https://graph.microsoft.com/.default" };
var clientSecretCredential = new ClientSecretCredential(config.TenantId, config.AppId, config.ClientSecret);
var graphClient = new GraphServiceClient(clientSecretCredential, scopes);
Az inicializált GraphServiceClient ezután a UserService.cs-ben lesz használva a felhasználókezelési műveletek végrehajtásához. Lekérte például a bérlő felhasználói fiókjainak listáját:
C#
publicstaticasync Task ListUsers(GraphServiceClient graphClient)
{
Console.WriteLine("Getting list of users...");
try
{
// Get all usersvar users = await graphClient.Users
.Request()
.Select(e => new
{
e.DisplayName,
e.Id,
e.Identities
})
.GetAsync();
// Iterate over all the users in the directoryvar pageIterator = PageIterator<User>
.CreatePageIterator(
graphClient,
users,
// Callback executed for each user in the collection
(user) =>
{
Console.WriteLine(JsonSerializer.Serialize(user));
returntrue;
},
// Used to configure subsequent page requests
(req) =>
{
Console.WriteLine($"Reading next page of users...");
return req;
}
);
await pageIterator.IterateAsync();
}
catch (Exception ex)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine(ex.Message);
Console.ResetColor();
}
}
Api-hívások kezdeményezése a Microsoft Graph SDK-kkal : információk beolvasása és írása a Microsoft Graphból, $select a visszaadott tulajdonságok szabályozása, egyéni lekérdezési paraméterek megadása, valamint a $filter lekérdezési $orderBy paraméterek használata.
This learning path includes hands-on exercises that will show you how to perform common tasks, such as showing a user's emails, accessing calendar events, and downloading and uploading files, in an ASP.NET Core app using Microsoft Graph APIs.