Zelfstudie: Uw externe tenant voorbereiden om een Node.js daemon-toepassing te autoriseren
Deze reeks zelfstudies laat zien hoe u een Node.js daemon-client-app bouwt en voorbereidt op verificatie in het Microsoft Entra-beheercentrum. U gebruikt de stroom voor het verlenen van open autorisatie (OAuth) 2.0-clientreferenties en configureert deze om een toegangstoken te verkrijgen voor het aanroepen van een web-API.
In deze zelfstudie;
- Registreer een web-API in het Microsoft Entra-beheercentrum en noteer de id's ervan
- App-rollen configureren voor de web-API
- Een client-daemon-toepassing registreren
- Machtigingen verlenen aan de daemon-app
- Een clientgeheim maken voor uw daemon-app
Als u al een client-daemon-toepassing en een web-API hebt geregistreerd in het Microsoft Entra-beheercentrum, kunt u de stappen in deze zelfstudie overslaan en vervolgens doorgaan met het verkrijgen van toegangstoken voor het aanroepen van een API.
Vereisten
- Een externe tenant. Kies een van de volgende methoden om er een te maken:
- (Aanbevolen) Gebruik de Microsoft Entra Externe ID-extensie om rechtstreeks in Visual Studio Code een externe tenant in te stellen.
- Maak een nieuwe externe tenant in het Microsoft Entra-beheercentrum.
Een web-API-toepassing registreren
Meld u als toepassingsontwikkelaar aan bij het Microsoft Entra-beheercentrum.
Als u toegang hebt tot meerdere tenants, gebruikt u het pictogram Instellingen in het bovenste menu om vanuit het menu Mappen en abonnementen over te schakelen naar uw externe tenant.
Blader naar identiteitstoepassingen>> App-registraties.
Selecteer + Nieuwe registratie.
Voer op de pagina Een toepassing registreren die wordt weergegeven de registratiegegevens van uw toepassing in:
Voer in de sectie Naam een beschrijvende toepassingsnaam in die wordt weergegeven aan gebruikers van de app, bijvoorbeeld ciam-ToDoList-api.
Onder Ondersteunde accounttypen selecteert u Enkel accounts in deze organisatieadreslijst.
Selecteer Registreren om de toepassing te maken.
Het deelvenster Overzicht van de toepassing wordt weergegeven wanneer de registratie is voltooid. Noteer de map-id (tenant) en de toepassings-id (client) die moet worden gebruikt in de broncode van uw toepassing.
App-rollen configureren
Een API moet minimaal één app-rol publiceren voor toepassingen, ook wel Toepassingsmachtiging genoemd, zodat de client-apps zelf een toegangstoken kunnen verkrijgen. Toepassingsmachtigingen zijn het type machtigingen dat API's moeten publiceren wanneer ze clienttoepassingen in staat willen stellen zich als zichzelf te verifiëren en geen gebruikers hoeven aan te melden. Voer de volgende stappen uit om een toepassingsmachtiging te publiceren:
Selecteer op de pagina App-registraties de toepassing die u hebt gemaakt (zoals ciam-ToDoList-api) om de overzichtspagina te openen.
Selecteer onder Beheren app-rollen.
Selecteer App-rol maken en voer vervolgens de volgende waarden in en selecteer Toepassen om uw wijzigingen op te slaan:
Eigenschappen Weergegeven als Display name ToDoList.Read.All De toegestane ledentypen Toepassingen Weergegeven als ToDoList.Read.All Beschrijving Toestaan dat de app de Takenlijst van elke gebruiker kan lezen met behulp van de TodoListApi Selecteer De app-rol opnieuw maken en voer vervolgens de volgende waarden in voor de tweede app-rol en selecteer Toepassen om uw wijzigingen op te slaan:
Eigenschappen Weergegeven als Display name ToDoList.ReadWrite.All De toegestane ledentypen Toepassingen Weergegeven als ToDoList.ReadWrite.All Beschrijving Toestaan dat de app de Takenlijst van elke gebruiker kan lezen en schrijven met behulp van de ToDoListApi
Idtyp-tokenclaim configureren
U kunt optionele claim idtyp gebruiken om de web-API te helpen bepalen of een token een app-token is of een app + gebruikerstoken. Hoewel u een combinatie van scp - en rollenclaims voor hetzelfde doel kunt gebruiken, is het gebruik van de idtyp-claim de eenvoudigste manier om een app-token en een app + gebruikerstoken apart te vertellen. De waarde van deze claim is bijvoorbeeld app wanneer het token een token is dat alleen voor apps geldt.
De daemon-app registreren
Als u wilt dat uw toepassing gebruikers kan aanmelden met Microsoft Entra, moet Microsoft Entra Externe ID op de hoogte worden gesteld van de toepassing die u maakt. De app-registratie brengt een vertrouwensrelatie tot stand tussen de app en Microsoft Entra. Wanneer u een toepassing registreert, genereert externe id een unieke id die bekend staat als een toepassings-id (client), een waarde die wordt gebruikt om uw app te identificeren bij het maken van verificatieaanvragen.
De volgende stappen laten zien hoe u uw app registreert in het Microsoft Entra-beheercentrum:
Meld u als toepassingsontwikkelaar aan bij het Microsoft Entra-beheercentrum.
Als u toegang hebt tot meerdere tenants, gebruikt u het pictogram Instellingen in het bovenste menu om vanuit het menu Mappen en abonnementen over te schakelen naar uw externe tenant.
Blader naar identiteitstoepassingen>> App-registraties.
Selecteer + Nieuwe registratie.
Op de pagina Een toepassing registreren die wordt weergegeven;
- Voer een betekenisvolle toepassingsnaam in die wordt weergegeven aan gebruikers van de app, bijvoorbeeld ciam-client-app.
- Onder Ondersteunde accounttypen selecteert u Enkel accounts in deze organisatieadreslijst.
Selecteer Registreren.
Het deelvenster Overzicht van de toepassing wordt weergegeven bij een geslaagde registratie. Noteer de toepassings-id (client) die moet worden gebruikt in de broncode van uw toepassing.
Een clientgeheim maken
Maak vervolgens een clientgeheim voor de geregistreerde toepassing. De toepassing gebruikt het clientgeheim om de identiteit te bewijzen wanneer er tokens worden aangevraagd.
- Selecteer op de pagina App-registraties de toepassing die u hebt gemaakt (zoals ciam-client-app) om de overzichtspagina te openen.
- Selecteer onder Beheren de optie Certificaten en geheimen.
- Selecteer Nieuw clientgeheim.
- Voer in het vak Beschrijving een beschrijving in voor het clientgeheim (bijvoorbeeld ciam-app-clientgeheim).
- Selecteer onder Verlopen een duur waarvoor het geheim geldig is (volgens de beveiligingsregels van uw organisatie) en selecteer vervolgens Toevoegen.
- Noteer de Waarde van het geheim. U gebruikt deze waarde voor configuratie in een latere stap. De geheime waarde wordt niet opnieuw weergegeven en kan op geen enkele manier worden opgehaald nadat u weg navigeert van de certificaten en geheimen. Zorg ervoor dat u deze opneemt.
API-machtigingen verlenen aan de daemon-app
Selecteer op de pagina App-registraties de toepassing die u hebt gemaakt, zoals ciam-client-app.
Selecteer onder Beheren de optie API-machtigingen.
Selecteer onder Geconfigureerde machtigingen de optie Een machtiging toevoegen.
Selecteer de API's die door mijn organisatie worden gebruikt .
Selecteer in de lijst met API's de API, zoals ciam-ToDoList-api.
Selecteer de optie Toepassingsmachtigingen . We selecteren deze optie als de app zich aanmeldt als zichzelf, maar niet namens een gebruiker.
Selecteer In de lijst met machtigingen todoList.Read.All, ToDoList.ReadWrite.All (gebruik indien nodig het zoekvak).
Selecteer de knop Toestemmingen toevoegen.
Op dit moment hebt u de machtigingen correct toegewezen. Omdat de daemon-app echter niet toestaat dat gebruikers ermee werken, kunnen de gebruikers zelf geen toestemming geven voor deze machtigingen. Om dit probleem op te lossen, moet u als beheerder toestemming geven voor deze machtigingen namens alle gebruikers in de tenant:
- Selecteer Beheerderstoestemming verlenen voor <uw tenantnaam> en selecteer Vervolgens Ja.
- Selecteer Vernieuwen en controleer vervolgens of Verleend voor <uw tenantnaam> wordt weergegeven onder Status voor beide machtigingen.
Uw app-registratiegegevens verzamelen
In de volgende stap bereidt u uw daemon-app-toepassing voor. Zorg ervoor dat u de volgende details hebt:
- De toepassings-id (client) van de client-daemon-app die u hebt geregistreerd.
- Het subdomein Directory (tenant) waar u uw daemon-app hebt geregistreerd. Als u uw tenantnaam niet hebt, leest u de details van uw tenant.
- De waarde van het toepassingsgeheim voor de daemon-app die u hebt gemaakt.
- De toepassings-id (client) van de web-API-app die u hebt geregistreerd.