Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Voor sommige machtigingen is toestemming van een beheerder vereist voordat ze kunnen worden verleend binnen een tenant. U kunt ook het eindpunt voor beheerderstoestemming gebruiken om machtigingen te verlenen aan een hele tenant.
Aanbevolen: de gebruiker aanmelden bij uw app
Wanneer u een toepassing bouwt die gebruikmaakt van het eindpunt voor beheerderstoestemming, heeft de app doorgaans een pagina of weergave nodig waarin de beheerder de machtigingen van de app kan goedkeuren. Deze pagina kan deel uitmaken van de registratiestroom van de app, een deel van de instellingen van de app of een speciale 'verbinding'-stroom. In veel gevallen is het logisch dat de app deze weergave 'verbinding maken' alleen weergeeft nadat een gebruiker zich heeft aangemeld met een Microsoft-werk- of schoolaccount.
Wanneer u de gebruiker aanmeldt bij uw app, kunt u de organisatie identificeren waartoe de beheerder behoort voordat u de gebruiker vraagt de benodigde machtigingen goed te keuren. Hoewel dit niet strikt noodzakelijk is, kunt u hiermee een intuïtievere ervaring maken voor uw gebruikers van uw organisatie.
De machtigingen aanvragen van een directorybeheerder
Wanneer u klaar bent om machtigingen aan te vragen van de beheerder van uw organisatie, kunt u de gebruiker omleiden naar het microsoft identity platform-beheerderstoestemmingseindpunt.
https://login.microsoftonline.com/{tenant}/v2.0/adminconsent
?client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&scope=https://graph.microsoft.com/Calendars.Read https://graph.microsoft.com/Mail.Send
&redirect_uri=http://localhost/myapp/permissions
&state=12345
| Kenmerk | Conditie | Beschrijving |
|---|---|---|
tenant |
Verplicht | De directorytenant van wie u toestemming wilt aanvragen. Kan worden opgegeven in DE GUID of beschrijvende naamnotatie OF algemeen verwezen met organizations zoals in het voorbeeld wordt gezien. Gebruik geen 'algemeen', omdat persoonlijke accounts geen beheerderstoestemming kunnen verlenen, behalve in de context van een tenant. Gebruik indien mogelijk de tenant-id om de beste compatibiliteit te garanderen met persoonlijke accounts die tenants beheren. |
client_id |
Verplicht | De toepassings-id (client) die door de Microsoft Entra beheerderscentrum – App-registraties interface aan uw app is toegewezen. |
redirect_uri |
Verplicht | De omleidings-URI waar u het antwoord naartoe wilt laten sturen zodat uw app het kan verwerken. Deze moet exact overeenkomen met een van de omleidings-URI's die u hebt geregistreerd in de app-registratieportal. |
state |
Aanbevolen | Een waarde die is opgenomen in de aanvraag die ook wordt geretourneerd in het tokenantwoord. Het kan een tekenreeks zijn van elke door u gewenste inhoud. Gebruik de status voor het coderen van informatie over de status van de gebruiker in de app voordat de verificatieaanvraag is opgetreden, zoals de pagina of weergave waarop ze zich bevonden. |
scope |
Verplicht | Hiermee definieert u de set machtigingen die door de toepassing worden aangevraagd. Dit kan statisch (met behulp van /.default) of dynamische bereiken zijn. Dit kan de OIDC-bereiken (openid, profile, ) emailomvatten. |
Op dit moment is voor Microsoft Entra-id een tenantbeheerder vereist om zich aan te melden om de aanvraag te voltooien. De beheerder wordt gevraagd om alle machtigingen die u hebt aangevraagd in de scope parameter goed te keuren. Als u een statische waarde (/.default) hebt gebruikt, werkt deze als het eindpunt voor beheerderstoestemming van v1.0 en vraagt u toestemming aan voor alle bereiken die zijn gevonden in de vereiste machtigingen (zowel gebruiker als app). Als u app-machtigingen wilt aanvragen, moet u de /.default waarde gebruiken. Als u niet wilt dat beheerders een bepaalde machtiging zien in het scherm voor beheerderstoestemming, kunt u /.defaulthet beste de machtiging niet in de sectie vereiste machtigingen plaatsen. In plaats daarvan kunt u dynamische toestemming gebruiken om de machtigingen toe te voegen die u tijdens runtime in het toestemmingsscherm wilt hebben, in plaats van te gebruiken /.default.
Succesvolle respons
Als de beheerder de machtigingen voor uw app goedkeurt, ziet het geslaagde antwoord er als volgt uit:
http://localhost/myapp/permissions
?admin_consent=True
&tenant=aaaabbbb-0000-cccc-1111-dddd2222eeee
&scope=https://graph.microsoft.com/Calendars.Read https://graph.microsoft.com/Mail.Send
&state=12345
| Kenmerk | Beschrijving |
|---|---|
tenant |
De directory-tenant die uw applicatie de machtigingen die het heeft aangevraagd heeft verleend, in GUID-formaat. |
state |
Een waarde die is opgenomen in de aanvraag die ook wordt geretourneerd in het tokenantwoord. Het kan een tekenreeks zijn van elke door u gewenste inhoud. De status wordt gebruikt om informatie over de status van de gebruiker in de app te coderen voordat de verificatieaanvraag is opgetreden, zoals de pagina of weergave waarop ze zich bevonden. |
scope |
De set machtigingen waartoe toegang is verleend voor de toepassing. |
admin_consent |
Wordt ingesteld op True. |
Waarschuwing
Gebruik nooit de tenant-id-waarde van de tenant parameter om gebruikers te verifiëren of te autoriseren. De tenant-id-waarde kan worden bijgewerkt en verzonden door slechte actoren om een reactie op uw app te imiteren. Dit kan ertoe leiden dat uw toepassing wordt blootgesteld aan beveiligingsincidenten.
Foutreactie
http://localhost/myapp/permissions
?admin_consent=True
&error=consent_required
&error_description=AADSTS65004%3a+The+resource+owner+or+authorization+server+denied+the+request.%0d%0aTrace+ID%3a+0000aaaa-11bb-cccc-dd22-eeeeee333333%0d%0aCorrelation+ID%3a+8478d534-5b2c-4325-8c2c-51395c342c89%0d%0aTimestamp%3a+2019-09-24+18%3a34%3a26Z
&state=12345
Als u toevoegt aan de parameters die in een geslaagd antwoord worden gezien, worden de foutparameters hieronder weergegeven.
| Kenmerk | Beschrijving |
|---|---|
error |
Een foutcodereeks die kan worden gebruikt voor het classificeren van typen fouten die optreden en die kan worden gebruikt om op fouten te reageren. |
error_description |
Een specifiek foutbericht waarmee een ontwikkelaar de hoofdoorzaak van een fout kan identificeren. |
state |
Een waarde die is opgenomen in de aanvraag die ook wordt geretourneerd in het tokenantwoord. Het kan een tekenreeks zijn van elke door u gewenste inhoud. De status wordt gebruikt om informatie over de status van de gebruiker in de app te coderen voordat de verificatieaanvraag is opgetreden, zoals de pagina of weergave waarop ze zich bevonden. |
admin_consent |
Wordt ingesteld om True aan te geven dat dit antwoord is opgetreden in een stroom voor beheerderstoestemming. |
Volgende stappen
- Bekijk hoe u een app converteert naar meerdere tenants
- Meer informatie over hoe toestemming wordt ondersteund op de OAuth 2.0-protocollaag tijdens de stroom voor het verlenen van autorisatiecode.
- Meer informatie over hoe een toepassing met meerdere tenants het toestemmingsframework kan gebruiken voor het implementeren van 'gebruikers' en 'beheerderstoestemming', ter ondersteuning van geavanceerdere toepassingspatronen met meerdere lagen.
- Informatie over toestemmingservaringen voor Microsoft Entra-toepassingen