Megosztás a következőn keresztül:


Szervezeti adatok: Felhasználó bejelentkezése és hozzáférési jogkivonat lekérése

A felhasználóknak hitelesíteni kell a Microsoft Entra-azonosítót ahhoz, hogy a Microsoft Graph hozzáférhessen a szervezeti adatokhoz. Ebben a gyakorlatban látni fogja, hogyan használható a Microsoft Graph Toolkit összetevő a mgt-login felhasználók hitelesítésére és egy hozzáférési jogkivonat lekérésére. A hozzáférési jogkivonat ezután a Microsoft Graph felé irányuló hívások indítására használható.

Megjegyzés:

Ha még nem ismeri a Microsoft Graphot, erről a Microsoft Graph alapjai képzési tervében tudhat meg többet.

Ebben a gyakorlatban a következőt fogja elvégezni:

  • Megtudhatja, hogyan társíthat Microsoft Entra ID-alkalmazást a Microsoft Graph Toolkittel a felhasználók hitelesítéséhez és a szervezeti adatok lekéréséhez.
  • Ismerje meg a hatókörök fontosságát.
  • Megtudhatja, hogyan használható a Microsoft Graph Toolkit mgt-login összetevője a felhasználók hitelesítésére és egy hozzáférési jogkivonat lekérésére.

A bejelentkezési funkció használata

  1. Az előző gyakorlatban létrehozott egy alkalmazásregisztrációt a Microsoft Entra-azonosítóban, és elindította az alkalmazáskiszolgálót és az API-kiszolgálót. A fájlban .env a következő értékeket is frissítette (TEAM_ID és CHANNEL_ID nem kötelező):

    ENTRAID_CLIENT_ID=<APPLICATION_CLIENT_ID_VALUE>
    TEAM_ID=<TEAMS_TEAM_ID>
    CHANNEL_ID=<TEAMS_CHANNEL_ID>
    

    A folytatás előtt győződjön meg arról, hogy elvégezte az előző gyakorlatot .

  2. Lépjen vissza a böngészőbe (http://localhost:4200), válassza a Bejelentkezés lehetőséget a fejlécben, és jelentkezzen be egy rendszergazdai felhasználói fiókkal a Microsoft 365 Developer-bérlőjéből.

    Jótanács

    Jelentkezzen be a Microsoft 365 fejlesztői bérlői rendszergazdai fiókjával. A fejlesztői bérlő többi felhasználóját a Microsoft 365 Felügyeleti központban tekintheti meg.

  3. Ha első alkalommal jelentkezik be az alkalmazásba, a rendszer kérni fogja, hogy járuljon hozzá az alkalmazás által kért engedélyekhez. A kód felfedezése során a következő szakaszban további információt kaphat ezekről az engedélyekről (más néven "hatókörökről"). A folytatáshoz válassza az Elfogadás lehetőséget.

  4. Miután bejelentkezett, látnia kell a fejlécben megjelenő felhasználó nevét.

    Bejelentkezett felhasználó

A bejelentkezési kód felfedezése

Most, hogy bejelentkezett, nézzük meg a felhasználóba való bejelentkezéshez és a hozzáférési jogkivonat és a felhasználói profil lekéréséhez használt kódot. Megismerheti a Microsoft Graph Toolkit részét képező mgt-login webösszetevőt.

Jótanács

Ha Visual Studio Code-ot használ, közvetlenül a következő kiválasztásával nyithatja meg a fájlokat:

  • Windows/Linux: Ctrl + P
  • Mac: Cmd + P

Ezután írja be a megnyitni kívánt fájl nevét.

  1. Nyissa meg az ügyfelet/package.json, és figyelje meg, hogy a csomagok és @microsoft/mgt a @microsoft/mgt-components csomagok a függőségek részét képezik. A @microsoft/mgt csomag MSAL (Microsoft Authentication Library) szolgáltatói funkciókat és webösszetevőket tartalmaz, például mgt-logint és másokat, amelyekkel bejelentkezhet a felhasználókba, és lekérheti és megjelenítheti a szervezeti adatokat.

  2. Nyissa meg az ügyfelet/src/main.ts , és figyelje meg a csomag következő importálását @microsoft/mgt-components . Az importált szimbólumok az alkalmazásban használt Microsoft Graph Toolkit-összetevők regisztrálására szolgálnak.

    import { registerMgtLoginComponent, registerMgtSearchResultsComponent, registerMgtPersonComponent,  } from '@microsoft/mgt-components';
    
  3. Görgessen a fájl aljára, és jegyezze fel a következő kódot:

    registerMgtLoginComponent();
    registerMgtSearchResultsComponent();
    registerMgtPersonComponent();
    

    Ez a kód regisztrálja a mgt-login, mgt-search-resultsés mgt-person a webösszetevőket, és lehetővé teszi az alkalmazáson belüli használatukat.

  4. Ha az mgt-login összetevő használatával szeretne bejelentkezni a felhasználókba, a Microsoft Entra ID alkalmazás ügyfél-azonosítóját (az .env fájlban ENTRAID_CLIENT_IDtárolja) hivatkozni és használni kell.

  5. Nyissa meg graph.service.ts , és keresse meg a függvényt init() . A fájl teljes elérési útja az ügyfél/src/app/core/graph.service.ts. A következő importálás és kód jelenik meg:

    import { Msal2Provider, Providers, ProviderState } from '@microsoft/mgt';
    
    init() {
        if (!this.featureFlags.microsoft365Enabled) return;
    
        if (!Providers.globalProvider) {
            console.log('Initializing Microsoft Graph global provider...');
            Providers.globalProvider = new Msal2Provider({
                clientId: ENTRAID_CLIENT_ID,
                scopes: ['User.Read', 'Presence.Read', 'Chat.ReadWrite', 'Calendars.Read', 
                        'ChannelMessage.Read.All', 'ChannelMessage.Send', 'Files.Read.All', 'Mail.Read']
            });
        }
        else {
            console.log('Global provider already initialized');
        }
    }
    

    Ez a kód létrehoz egy új Msal2Provider objektumot, amely átadja a Microsoft Entra-azonosító ügyfélazonosítóját az alkalmazásregisztrációból, és scopes amelyhez az alkalmazás hozzáférést kér. Ezek scopes segítségével kérhet hozzáférést az alkalmazás által elérhető Microsoft Graph-erőforrásokhoz. Az Msal2Provider objektum létrehozása után hozzá lesz rendelve az Providers.globalProvider objektumhoz, amelyet a Microsoft Graph Eszközkészlet összetevői használnak az adatok Microsoft Graph-ból való lekéréséhez.

  6. Nyissa meg header.component.html a szerkesztőben, és keresse meg az mgt-login összetevőt . A fájl teljes elérési útja az ügyfél/src/alkalmazás/fejléc/header.component.html.

    @if (this.featureFlags.microsoft365Enabled) {
        <mgt-login class="mgt-dark" (loginCompleted)="loginCompleted()"></mgt-login>
    }
    

    Az mgt-login összetevő lehetővé teszi a felhasználó bejelentkezését, és hozzáférést biztosít a Microsoft Graph-hoz használt jogkivonathoz. Sikeres bejelentkezés esetén az loginCompleted esemény aktiválódik, amely meghívja a függvényt loginCompleted() . Bár ebben a példában az mgt-login egy Angular-összetevőn belül használatos, bármely webalkalmazással kompatibilis.

    Az mgt-login összetevő megjelenítése a featureFlags.microsoft365Enabled beállított trueértéktől függ. Ez az egyéni jelző ellenőrzi a környezeti változó jelenlétét ENTRAID_CLIENT_ID annak ellenőrzéséhez, hogy az alkalmazás megfelelően van-e konfigurálva, és képes-e hitelesíteni a Microsoft Entra-azonosítóval. A jelölő olyan esetekhez lesz hozzáadva, amikor a felhasználók úgy döntenek, hogy csak a mi- vagy kommunikációs gyakorlatokat hajtják végre az oktatóanyagon belül, ahelyett, hogy a gyakorlatok teljes sorozatát követik.

  7. Nyissa meg header.component.ts , és keresse meg a függvényt loginCompleted . Ez a függvény akkor lesz meghívva, amikor az loginCompleted esemény ki van adva, és kezeli a bejelentkezett felhasználó profiljának lekérését a használatával Providers.globalProvider.

    async loginCompleted() {
        const me = await Providers.globalProvider.graph.client.api('me').get();
        this.userLoggedIn.emit(me);
    }
    

    Ebben a példában hívást kezdeményezünk a Microsoft Graph me API-hoz a felhasználó profiljának lekéréséhez (me ez az aktuális bejelentkezett felhasználót jelöli). A this.userLoggedIn.emit(me) kódutasítás egy eseményt bocsát ki az összetevőből a profiladatok szülőösszetevőnek való továbbításához. Ebben az esetben a szülőösszetevő app.component.ts fájl, amely az alkalmazás fő összetevője.

    Ha többet szeretne megtudni az mgt-login összetevőről, látogasson el a Microsoft Graph Toolkit dokumentációjához.

  8. Most, hogy bejelentkezett az alkalmazásba, nézzük meg, hogyan kérhetők le a szervezeti adatok.

Következő lépés