Hozzáférés engedélyezése Azure Active Directory webes alkalmazásokhoz az OAuth 2.0 kódengedélyezési folyamat használatával
Figyelmeztetés
Ez a tartalom a régebbi Azure AD 1.0-s verziójú végponthoz készült. Használja a Microsoft Identitásplatform új projektekhez.
Megjegyzés
Ha nem mondja meg a kiszolgálónak, hogy milyen erőforrást szeretne meghívni, akkor a kiszolgáló nem aktiválja az adott erőforrás feltételes hozzáférési szabályzatát. Az MFA-eseményindító használatához tehát egy erőforrást kell felvennie az URL-címbe.
Az Azure Active Directory (Azure AD) az OAuth 2.0 használatával teszi lehetővé a webalkalmazásokhoz és webes API-khez való hozzáférés engedélyezését az Azure AD-bérlőben. Ez az útmutató nyelvfüggetlen, és ismerteti, hogyan küldhet és fogadhat HTTP-üzeneteket anélkül, hogy bármelyik nyílt forráskódú kódtárat használjuk.
Az OAuth 2.0 engedélyezési kódfolyamatát az OAuth 2.0 specifikációjának 4.1. szakasza ismerteti. Hitelesítést és engedélyezést végez a legtöbb alkalmazástípusban, beleértve a webalkalmazásokat és a natívan telepített alkalmazásokat.
Alkalmazás regisztrálása az AD-bérlőben
Először regisztrálja az alkalmazást az Azure Active Directory-bérlőben (Azure AD). Ekkor kapni fog egy alkalmazásazonosítót az alkalmazáshoz, amely immár képes jogkivonatokat fogadni.
Jelentkezzen be az Azure Portalra.
Válassza ki a Azure AD bérlőt úgy, hogy kiválasztja a fiókját a lap jobb felső sarkában, majd kiválasztja a Címtárváltás navigációs sávot, majd kiválasztja a megfelelő bérlőt.
- Hagyja ki ezt a lépést, ha csak egy Azure AD bérlő van a fiókjában, vagy ha már kiválasztotta a megfelelő Azure AD bérlőt.
A Azure Portal keresse meg és válassza ki az Azure Active Directoryt.
Az Azure Active Directory bal oldali menüjében válassza az Alkalmazásregisztrációk, majd az Új regisztráció lehetőséget.
Kövesse az utasításokat az új alkalmazás létrehozásához. Nem számít, hogy webalkalmazásról vagy nyilvános ügyfélalkalmazásról (mobil & asztali) van-e szó ebben az oktatóanyagban, de ha konkrét példákat szeretne a webalkalmazásokhoz vagy a nyilvános ügyfélalkalmazásokhoz, tekintse meg rövid útmutatóinkat.
- A név az alkalmazás neve, amely a végfelhasználók számára ad leírást az alkalmazásról.
- A Támogatott fióktípusok területen válassza a Fiókok lehetőséget bármely szervezeti címtárban és személyes Microsoft-fiókban.
- Adja meg az átirányítási URI-t. Webalkalmazások esetén ez az alkalmazás alap URL-címe, ahová a felhasználók bejelentkezhetnek. Például:
http://localhost:12345
. Nyilvános ügyfél (mobil & asztali) esetén Azure AD tokenválaszok visszaadására használja. Adja meg az alkalmazáshoz tartozó értéket. Például:http://MyFirstAADApp
.
A regisztráció befejezése után Azure AD hozzárendeli az alkalmazást egy egyedi ügyfélazonosítóhoz (az alkalmazásazonosítóhoz). Ezt az értéket a következő szakaszokban kell megadnia, ezért másolja ki az alkalmazásoldalról.
Ha meg szeretné keresni az alkalmazást a Azure Portal, válassza a Alkalmazásregisztrációk lehetőséget, majd válassza az Összes alkalmazás megtekintése lehetőséget.
OAuth 2.0 engedélyezési folyamat
Magas szinten az alkalmazás teljes engedélyezési folyamata a következőképpen néz ki:
Engedélyezési kód kérése
Az engedélyezési kód folyamata azzal kezdődik, hogy az ügyfél a végponthoz irányítja a felhasználót /authorize
. Ebben a kérelemben az ügyfél jelzi a felhasználótól beszerezni kívánt engedélyeket. A bérlő OAuth 2.0 engedélyezési végpontját a Azure Portal Alkalmazásregisztrációk > Végpontok elem kiválasztásával szerezheti be.
// Line breaks for legibility only
https://login.microsoftonline.com/{tenant}/oauth2/authorize?
client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&response_type=code
&redirect_uri=http%3A%2F%2Flocalhost%3A12345
&response_mode=query
&resource=https%3A%2F%2Fservice.contoso.com%2F
&state=12345
Paraméter | Típus | Description |
---|---|---|
Bérlő | kötelező | A {tenant} kérelem elérési útjának értéke alapján szabályozható, hogy ki jelentkezhet be az alkalmazásba. Az engedélyezett értékek például bérlőazonosítók vagy 8eaef023-2b34-4da1-9baa-8bc8c9d6a490 contoso.onmicrosoft.com common bérlőfüggetlen jogkivonatok |
client_id | kötelező | Az alkalmazáshoz rendelt alkalmazásazonosító, amikor regisztrálta azt a Azure AD. Ezt a Azure Portal találja. Kattintson az Azure Active Directory elemre a szolgáltatások oldalsávjában, kattintson a Alkalmazásregisztrációk elemre, és válassza ki az alkalmazást. |
response_type | kötelező | Az engedélyezési kód folyamatának tartalmaznia code kell. |
redirect_uri | Ajánlott | Az alkalmazás redirect_uri, ahol az alkalmazás hitelesítési válaszokat küldhet és fogadhat. Pontosan meg kell egyeznie a portálon regisztrált redirect_uris egyikével, kivéve, hogy URL-kódolásúnak kell lennie. Natív & mobilalkalmazások esetén a alapértelmezett értéket kell használnia https://login.microsoftonline.com/common/oauth2/nativeclient . |
response_mode | választható | Megadja azt a metódust, amellyel az eredményül kapott jogkivonatot vissza kell küldeni az alkalmazásnak. query Lehet , vagy fragment form_post . query lekérdezési sztringparaméterként biztosítja a kódot az átirányítási URI-n. Ha az implicit folyamattal kér azonosító jogkivonatot, az OpenID-specifikációban megadott módon nem használhatóquery . Ha csak a kódot kéri, használhatja query a , fragment vagy form_post a parancsot. form_post végrehajt egy POST-ot, amely tartalmazza a kódot az átirányítási URI-nak. Az alapértelmezett érték query egy kódfolyamathoz tartozik. |
állapot | Ajánlott | A kérésben szereplő érték, amelyet a rendszer a jogkivonat-válaszban is visszaad. A véletlenszerűen generált egyedi érték általában a helyek közötti kérelemhamisítási támadások megelőzésére szolgál. Az állapot a felhasználó állapotára vonatkozó információk kódolására is használható az alkalmazásban a hitelesítési kérés előtt, például a lapon vagy a megtekintésben. |
erőforrás | Ajánlott | A cél webes API (biztonságos erőforrás) alkalmazásazonosítójának URI-ja. Az alkalmazásazonosító URI-jának megkereséséhez a Azure Portal kattintson az Azure Active Directory elemre, kattintson az Alkalmazásregisztrációk elemre, nyissa meg az alkalmazás Beállítások lapját, majd kattintson a Tulajdonságok elemre. Külső erőforrás is lehet, például https://graph.microsoft.com . Erre az engedélyezési vagy jogkivonat-kérelmek egyikében van szükség. Annak biztosítása érdekében, hogy kevesebb hitelesítési kérés álljon az engedélyezési kérelemben, hogy a felhasználó megkapja a hozzájárulást. |
scope | Figyelmen kívül hagyja | V1-Azure AD alkalmazások esetén a hatóköröket statikusan kell konfigurálni a Azure Portal az Alkalmazások beállításai, Szükséges engedélyek területen. |
Gyors | választható | Adja meg a szükséges felhasználói interakció típusát. Az érvényes értékek a következők: login: A felhasználónak újrahitelesítést kell kérnie. select_account: A rendszer arra kéri a felhasználót, hogy válasszon ki egy fiókot, megszakítva az egyszeri bejelentkezést. A felhasználó kiválaszthat egy meglévő bejelentkezett fiókot, megadhatja a hitelesítő adatait egy emlékezetes fiókhoz, vagy dönthet úgy, hogy teljesen más fiókot használ. hozzájárulás: A felhasználói hozzájárulás meg lett adva, de frissíteni kell. A felhasználónak hozzájárulást kell kérnie. admin_consent: A rendszergazdának a szervezet összes felhasználója nevében jóváhagyást kell kérnie |
login_hint | választható | A felhasználó bejelentkezési oldalának felhasználónév/e-mail-cím mezőjének előre kitölthető, ha előre ismeri a felhasználónevét. Az alkalmazások gyakran használják ezt a paramétert az újrahitelesítés során, miután már kinyerték a felhasználónevet egy korábbi bejelentkezésből a preferred_username jogcím használatával. |
domain_hint | választható | Tippet ad arról a bérlőről vagy tartományról, amelyet a felhasználónak használnia kell a bejelentkezéshez. A domain_hint értéke a bérlő regisztrált tartománya. Ha a bérlőt egy helyszíni címtárba összevonták, az AAD átirányítja a megadott bérlői összevonási kiszolgálóra. |
code_challenge_method | Ajánlott | A paraméter kódolásához code_verifier code_challenge használt metódus. A vagy S256 az plain egyik lehet. Ha nincs kizárva, code_challenge akkor a rendszer egyszerű szövegként jelenik meg, ha code_challenge szerepel benne. Az Azure AAD 1.0-s verzió támogatja a és S256 a verziót isplain . További információ: PKCE RFC. |
code_challenge | Ajánlott | Az engedélyezési kód megadásának védelmére szolgál a Code Exchange-hez (PKCE) készült proof key for Code Exchange (PKCE) segítségével natív vagy nyilvános ügyféltől. Kötelező, ha code_challenge_method szerepel benne. További információ: PKCE RFC. |
Megjegyzés
Ha a felhasználó egy szervezet tagja, a szervezet rendszergazdája jóváhagyhatja vagy elutasíthatja a felhasználó nevében, vagy engedélyezheti a felhasználónak a hozzájárulást. A felhasználó csak akkor kap engedélyt a hozzájárulásra, ha a rendszergazda engedélyezi.
Ezen a ponton a felhasználónak meg kell adnia a hitelesítő adatait, és jóvá kell adnia az alkalmazás által kért engedélyeket a Azure Portal. Miután a felhasználó hitelesítette és hozzájárulást adott, Azure AD választ küld az alkalmazásnak a redirect_uri
kérés címére a kóddal.
Sikeres válasz
A sikeres válasz a következőképpen nézhet ki:
GET HTTP/1.1 302 Found
Location: http://localhost:12345/?code= AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrqqf_ZT_p5uEAEJJ_nZ3UmphWygRNy2C3jJ239gV_DBnZ2syeg95Ki-374WHUP-i3yIhv5i-7KU2CEoPXwURQp6IVYMw-DjAOzn7C3JCu5wpngXmbZKtJdWmiBzHpcO2aICJPu1KvJrDLDP20chJBXzVYJtkfjviLNNW7l7Y3ydcHDsBRKZc3GuMQanmcghXPyoDg41g8XbwPudVh7uCmUponBQpIhbuffFP_tbV8SNzsPoFz9CLpBCZagJVXeqWoYMPe2dSsPiLO9Alf_YIe5zpi-zY4C3aLw5g9at35eZTfNd0gBRpR5ojkMIcZZ6IgAA&session_state=7B29111D-C220-4263-99AB-6F6E135D75EF&state=D79E5777-702E-4260-9A62-37F75FF22CCE
Paraméter | Leírás |
---|---|
admin_consent | Az érték Igaz, ha egy rendszergazda beleegyezett egy hozzájárulási kérésbe. |
code | Az alkalmazás által kért engedélyezési kód. Az alkalmazás az engedélyezési kóddal hozzáférési jogkivonatot kérhet a célerőforráshoz. |
session_state | Az aktuális felhasználói munkamenetet azonosító egyedi érték. Ez az érték guid, de vizsgálat nélkül átlátszatlan értékként kell kezelni. |
állapot | Ha egy állapotparaméter szerepel a kérelemben, akkor ugyanaz az érték jelenik meg a válaszban. Az alkalmazásnak ajánlott ellenőriznie, hogy a kérés és a válasz állapotértékei azonosak-e a válasz használata előtt. Ez segít észlelni az ügyfél ellen irányuló helyek közötti kérelemhamisítási (CSRF-) támadásokat . |
Hibaválasz
A hibaválaszokat is elküldheti a redirect_uri
címzettnek, hogy az alkalmazás megfelelően tudja kezelni őket.
GET http://localhost:12345/?
error=access_denied
&error_description=the+user+canceled+the+authentication
Paraméter | Leírás |
---|---|
error | Az OAuth 2.0 engedélyezési keretrendszer 5.2. szakaszában definiált hibakódérték. A következő táblázat a Azure AD visszaadott hibakódokat ismerteti. |
error_description | A hiba részletesebb leírása. Ez az üzenet nem végfelhasználói felhasználóbarát. |
állapot | Az állapotérték egy véletlenszerűen generált, nem újrafelhasznált érték, amelyet a rendszer a kérelemben küld el, és a válaszban ad vissza, hogy megakadályozza a helyek közötti kérelemhamisítási (CSRF-) támadásokat. |
Az engedélyezési végpont hibáinak hibakódjai
Az alábbi táblázat a hibaválasz paraméterében error
visszaadható különböző hibakódokat ismerteti.
Hibakód | Description | Ügyfélművelet |
---|---|---|
invalid_request | Protokollhiba, például hiányzó kötelező paraméter. | Javítsa ki és küldje el újra a kérést. Ez egy fejlesztési hiba, amely általában a kezdeti tesztelés során jelenik meg. |
unauthorized_client | Az ügyfélalkalmazás nem kérhet engedélyezési kódot. | Ez általában akkor fordul elő, ha az ügyfélalkalmazás nincs regisztrálva Azure AD, vagy nincs hozzáadva a felhasználó Azure AD bérlőhöz. Az alkalmazás megkérheti a felhasználót, hogy telepítse az alkalmazást, és vegye fel Azure AD. |
access_denied | Az erőforrás tulajdonosa megtagadta a hozzájárulást | Az ügyfélalkalmazás értesítheti a felhasználót arról, hogy csak akkor folytathatja a műveletet, ha a felhasználó beleegyezik. |
unsupported_response_type | Az engedélyezési kiszolgáló nem támogatja a kérés választípusát. | Javítsa ki és küldje el újra a kérést. Ez egy fejlesztési hiba, amely általában a kezdeti tesztelés során jelenik meg. |
server_error | A kiszolgáló váratlan hibát észlelt. | Ismételje meg a kérést. Ezek a hibák ideiglenes feltételekből eredhetnek. Az ügyfélalkalmazás elmagyarázhatja a felhasználónak, hogy a válasza egy ideiglenes hiba miatt késik. |
temporarily_unavailable | A kiszolgáló átmenetileg túl elfoglalt a kérés kezeléséhez. | Ismételje meg a kérést. Az ügyfélalkalmazás elmagyarázhatja a felhasználónak, hogy a válasza egy ideiglenes feltétel miatt késik. |
invalid_resource | A célerőforrás érvénytelen, mert nem létezik, Azure AD nem találja, vagy nincs megfelelően konfigurálva. | Ez azt jelzi, hogy az erőforrás , ha létezik, nincs konfigurálva a bérlőben. Az alkalmazás megkérheti a felhasználót, hogy telepítse az alkalmazást, és vegye fel Azure AD. |
Hozzáférési jogkivonat kérése az engedélyezési kóddal
Most, hogy beszerzett egy engedélyezési kódot, és a felhasználó engedélyt kapott, beválthatja a kódot egy hozzáférési jogkivonathoz a kívánt erőforráshoz, ha post kérést küld a /token
végpontnak:
// Line breaks for legibility only
POST /{tenant}/oauth2/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&client_id=2d4d11a2-f814-46a7-890a-274a72a7309e
&code=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrqqf_ZT_p5uEAEJJ_nZ3UmphWygRNy2C3jJ239gV_DBnZ2syeg95Ki-374WHUP-i3yIhv5i-7KU2CEoPXwURQp6IVYMw-DjAOzn7C3JCu5wpngXmbZKtJdWmiBzHpcO2aICJPu1KvJrDLDP20chJBXzVYJtkfjviLNNW7l7Y3ydcHDsBRKZc3GuMQanmcghXPyoDg41g8XbwPudVh7uCmUponBQpIhbuffFP_tbV8SNzsPoFz9CLpBCZagJVXeqWoYMPe2dSsPiLO9Alf_YIe5zpi-zY4C3aLw5g9at35eZTfNd0gBRpR5ojkMIcZZ6IgAA
&redirect_uri=https%3A%2F%2Flocalhost%3A12345
&resource=https%3A%2F%2Fservice.contoso.com%2F
&client_secret=p@ssw0rd
//NOTE: client_secret only required for web apps
Paraméter | Típus | Description |
---|---|---|
Bérlő | kötelező | A {tenant} kérelem elérési útjának értéke alapján szabályozható, hogy ki jelentkezhet be az alkalmazásba. Az engedélyezett értékek például bérlőazonosítók vagy 8eaef023-2b34-4da1-9baa-8bc8c9d6a490 contoso.onmicrosoft.com common bérlőfüggetlen jogkivonatok |
client_id | kötelező | Az alkalmazáshoz rendelt alkalmazásazonosító, amikor regisztrálta az Azure AD. Ezt a Azure Portal találja. Az alkalmazásazonosító megjelenik az alkalmazásregisztráció beállításai között. |
grant_type | kötelező | Az engedélyezési kód folyamatának kell lennie authorization_code . |
code | kötelező | Az authorization_code előző szakaszban beszerzett |
redirect_uri | kötelező | Az redirect_uri ügyfélalkalmazásban regisztrált. |
client_secret | webalkalmazásokhoz szükséges, nyilvános ügyfelek számára nem engedélyezett | Az alkalmazás Azure Portal a Kulcsok területen létrehozott alkalmazáskulcs. Natív alkalmazásban (nyilvános ügyfélprogramban) nem használható, mert client_secrets nem tárolhatók megbízhatóan az eszközökön. Ez olyan webalkalmazásokhoz és webes API-khoz (minden bizalmas ügyfélhez) szükséges, amelyek képesek biztonságosan tárolni a client_secret kiszolgálóoldalon. Az client_secret url-kódolásúnak kell lennie az elküldés előtt. |
erőforrás | Ajánlott | A cél webes API (biztonságos erőforrás) alkalmazásazonosítójának URI-ja. Az alkalmazásazonosító URI-jának megkereséséhez a Azure Portal kattintson az Azure Active Directory elemre, kattintson az Alkalmazásregisztrációk elemre, nyissa meg az alkalmazás Beállítások lapját, majd kattintson a Tulajdonságok elemre. Külső erőforrás is lehet, például https://graph.microsoft.com . Erre az engedélyezési vagy jogkivonat-kérelmek egyikében van szükség. Annak biztosítása érdekében, hogy kevesebb hitelesítési kérés álljon az engedélyezési kérelemben, hogy a felhasználó megkapja a hozzájárulást. Ha az engedélyezési kérelemben és a jogkivonat-kérelemben is, az erőforrás paramétereinek egyeznie kell. |
code_verifier | választható | Ugyanaz a code_verifier, amelyet a authorization_code beszerzéséhez használtak. Kötelező, ha a PKCE-t használták az engedélyezési kód megadására vonatkozó kérelemben. További információ: PKCE RFC |
Az alkalmazásazonosító URI-jának megkereséséhez a Azure Portal kattintson az Azure Active Directory elemre, kattintson az Alkalmazásregisztrációk elemre, nyissa meg az alkalmazás Beállítások lapját, majd kattintson a Tulajdonságok elemre.
Sikeres válasz
Azure AD sikeres válasz esetén hozzáférési jogkivonatot ad vissza. Az ügyfélalkalmazásból érkező hálózati hívások és azok késésének minimalizálása érdekében az ügyfélalkalmazásnak gyorsítótáraznia kell a hozzáférési jogkivonatokat az OAuth 2.0-válaszban megadott jogkivonat-élettartamhoz. A jogkivonat élettartamának meghatározásához használja a vagy expires_on
a expires_in
paraméterértékeket.
Ha egy webes API-erőforrás hibakódot ad invalid_token
vissza, az azt jelezheti, hogy az erőforrás megállapította, hogy a jogkivonat lejárt. Ha az ügyfél és az erőforrás óraideje eltér (más néven "időeltérés"), az erőforrás úgy tekintheti, hogy a jogkivonat lejárt, mielőtt a jogkivonat törlődne az ügyfél gyorsítótárából. Ha ez történik, törölje a jogkivonatot a gyorsítótárból, még akkor is, ha az még a számított élettartamon belül van.
A sikeres válasz a következőképpen nézhet ki:
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1THdqcHdBSk9NOW4tQSJ9.eyJhdWQiOiJodHRwczovL3NlcnZpY2UuY29udG9zby5jb20vIiwiaXNzIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvN2ZlODE0NDctZGE1Ny00Mzg1LWJlY2ItNmRlNTdmMjE0NzdlLyIsImlhdCI6MTM4ODQ0MDg2MywibmJmIjoxMzg4NDQwODYzLCJleHAiOjEzODg0NDQ3NjMsInZlciI6IjEuMCIsInRpZCI6IjdmZTgxNDQ3LWRhNTctNDM4NS1iZWNiLTZkZTU3ZjIxNDc3ZSIsIm9pZCI6IjY4Mzg5YWUyLTYyZmEtNGIxOC05MWZlLTUzZGQxMDlkNzRmNSIsInVwbiI6ImZyYW5rbUBjb250b3NvLmNvbSIsInVuaXF1ZV9uYW1lIjoiZnJhbmttQGNvbnRvc28uY29tIiwic3ViIjoiZGVOcUlqOUlPRTlQV0pXYkhzZnRYdDJFYWJQVmwwQ2o4UUFtZWZSTFY5OCIsImZhbWlseV9uYW1lIjoiTWlsbGVyIiwiZ2l2ZW5fbmFtZSI6IkZyYW5rIiwiYXBwaWQiOiIyZDRkMTFhMi1mODE0LTQ2YTctODkwYS0yNzRhNzJhNzMwOWUiLCJhcHBpZGFjciI6IjAiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJhY3IiOiIxIn0.JZw8jC0gptZxVC-7l5sFkdnJgP3_tRjeQEPgUn28XctVe3QqmheLZw7QVZDPCyGycDWBaqy7FLpSekET_BftDkewRhyHk9FW_KeEz0ch2c3i08NGNDbr6XYGVayNuSesYk5Aw_p3ICRlUV1bqEwk-Jkzs9EEkQg4hbefqJS6yS1HoV_2EsEhpd_wCQpxK89WPs3hLYZETRJtG5kvCCEOvSHXmDE6eTHGTnEgsIk--UlPe275Dvou4gEAwLofhLDQbMSjnlV5VLsjimNBVcSRFShoxmQwBJR_b2011Y5IuD6St5zPnzruBbZYkGNurQK63TJPWmRd3mbJsGM0mf3CUQ",
"token_type": "Bearer",
"expires_in": "3600",
"expires_on": "1388444763",
"resource": "https://service.contoso.com/",
"refresh_token": "AwABAAAAvPM1KaPlrEqdFSBzjqfTGAMxZGUTdM0t4B4rTfgV29ghDOHRc2B-C_hHeJaJICqjZ3mY2b_YNqmf9SoAylD1PycGCB90xzZeEDg6oBzOIPfYsbDWNf621pKo2Q3GGTHYlmNfwoc-OlrxK69hkha2CF12azM_NYhgO668yfcUl4VBbiSHZyd1NVZG5QTIOcbObu3qnLutbpadZGAxqjIbMkQ2bQS09fTrjMBtDE3D6kSMIodpCecoANon9b0LATkpitimVCrl-NyfN3oyG4ZCWu18M9-vEou4Sq-1oMDzExgAf61noxzkNiaTecM-Ve5cq6wHqYQjfV9DOz4lbceuYCAA",
"scope": "https%3A%2F%2Fgraph.microsoft.com%2Fmail.read",
"id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJub25lIn0.eyJhdWQiOiIyZDRkMTFhMi1mODE0LTQ2YTctODkwYS0yNzRhNzJhNzMwOWUiLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83ZmU4MTQ0Ny1kYTU3LTQzODUtYmVjYi02ZGU1N2YyMTQ3N2UvIiwiaWF0IjoxMzg4NDQwODYzLCJuYmYiOjEzODg0NDA4NjMsImV4cCI6MTM4ODQ0NDc2MywidmVyIjoiMS4wIiwidGlkIjoiN2ZlODE0NDctZGE1Ny00Mzg1LWJlY2ItNmRlNTdmMjE0NzdlIiwib2lkIjoiNjgzODlhZTItNjJmYS00YjE4LTkxZmUtNTNkZDEwOWQ3NGY1IiwidXBuIjoiZnJhbmttQGNvbnRvc28uY29tIiwidW5pcXVlX25hbWUiOiJmcmFua21AY29udG9zby5jb20iLCJzdWIiOiJKV3ZZZENXUGhobHBTMVpzZjd5WVV4U2hVd3RVbTV5elBtd18talgzZkhZIiwiZmFtaWx5X25hbWUiOiJNaWxsZXIiLCJnaXZlbl9uYW1lIjoiRnJhbmsifQ."
}
Paraméter | Leírás |
---|---|
access_token | A kért hozzáférési jogkivonat. Ez egy átlátszatlan sztring – attól függ, hogy az erőforrás mit vár el, és nem az ügyfélnek szánták. Az alkalmazás ezzel a jogkivonattal hitelesítheti magát a biztonságos erőforrással, például egy webes API-val. |
token_type | A tokentípus értékét jelzi. Az egyetlen olyan típus, amelyet Azure AD támogat, a Bearer. További információ a Tulajdonosi jogkivonatokról: OAuth2.0 engedélyezési keretrendszer: Tulajdonosi jogkivonat-használat (RFC 6750) |
expires_in | Mennyi ideig érvényes a hozzáférési jogkivonat (másodpercben). |
expires_on | A hozzáférési jogkivonat lejáratának időpontja. A dátum az 1970-01-01T0:0:0Z (UTC) és a lejárati idő közötti másodpercek számaként jelenik meg. Ez az érték határozza meg a gyorsítótárazott jogkivonatok élettartamát. |
erőforrás | A webes API alkalmazásazonosítójának URI-ja (biztonságos erőforrás). |
scope | Az ügyfélalkalmazásnak megadott megszemélyesítési engedélyek. Az alapértelmezett engedély a következő: user_impersonation . A biztonságos erőforrás tulajdonosa további értékeket regisztrálhat a Azure AD. |
refresh_token | Egy OAuth 2.0 frissítési jogkivonat. Az alkalmazás ezzel a jogkivonattal további hozzáférési jogkivonatokat szerezhet be az aktuális hozzáférési jogkivonat lejárata után. A frissítési jogkivonatok hosszú élettartamúak, és hosszabb ideig használhatók az erőforrásokhoz való hozzáférés megőrzésére. |
id_token | Egy azonosító jogkivonatot jelképező aláíratlan JSON-webes jogkivonat (JWT). Az alkalmazás képes a base64Url dekódolni a jogkivonat szegmenseit, hogy információt kérjen a bejelentkezett felhasználóról. Az alkalmazás gyorsítótárazhatja az értékeket, és megjelenítheti őket, de nem hagyatkozhat rájuk semmilyen engedélyezési vagy biztonsági határra. |
A JSON webes jogkivonatokkal kapcsolatos további információkért lásd a JWT IETF piszkozatspecifikációját. További információkért id_tokens
lásd az 1.0-s verziós OpenID Connect-folyamatot.
Hibaválasz
A jogkivonat-kiállítási végpont hibái HTTP-hibakódok, mivel az ügyfél közvetlenül meghívja a jogkivonat-kiállítási végpontot. A HTTP-állapotkódon kívül a Azure AD tokenkiállítási végpont egy JSON-dokumentumot is visszaad, amely a hibát leíró objektumokat tartalmaz.
A minta hibaválasza a következőképpen nézhet ki:
{
"error": "invalid_grant",
"error_description": "AADSTS70002: Error validating credentials. AADSTS70008: The provided authorization code or refresh token is expired. Send a new interactive authorization request for this user and resource.\r\nTrace ID: 3939d04c-d7ba-42bf-9cb7-1e5854cdce9e\r\nCorrelation ID: a8125194-2dc8-4078-90ba-7b6592a7f231\r\nTimestamp: 2016-04-11 18:00:12Z",
"error_codes": [
70002,
70008
],
"timestamp": "2016-04-11 18:00:12Z",
"trace_id": "3939d04c-d7ba-42bf-9cb7-1e5854cdce9e",
"correlation_id": "a8125194-2dc8-4078-90ba-7b6592a7f231"
}
Paraméter | Leírás |
---|---|
error | Hibakódsztring, amely a előforduló hibák típusainak besorolására használható, és a hibákra való reagálásra használható. |
error_description | Egy adott hibaüzenet, amely segíthet a fejlesztőknek azonosítani a hitelesítési hiba kiváltó okát. |
error_codes | Az STS-specifikus hibakódok listája, amelyek segíthetnek a diagnosztikában. |
időbélyeg | A hiba előfordulásának időpontja. |
trace_id | A kérés egyedi azonosítója, amely segíthet a diagnosztikában. |
correlation_id | A kérés egyedi azonosítója, amely segíthet az összetevők közötti diagnosztikában. |
HTTP-állapotkódok
Az alábbi táblázat felsorolja a jogkivonat-kiállítási végpont által visszaadott HTTP-állapotkódokat. Bizonyos esetekben a hibakód elegendő a válasz leírásához, de ha vannak hibák, elemeznie kell a kísérő JSON-dokumentumot, és meg kell vizsgálnia annak hibakódját.
HTTP-kód | Leírás |
---|---|
400 | Alapértelmezett HTTP-kód. A legtöbb esetben használják, és általában hibásan formázott kérés miatt használják. Javítsa ki és küldje el újra a kérést. |
401 | A hitelesítés sikertelen. A kérésből például hiányzik a client_secret paraméter. |
403 | Az engedélyezés nem sikerült. A felhasználónak például nincs engedélye az erőforrás elérésére. |
500 | Belső hiba történt a szolgáltatásban. Ismételje meg a kérést. |
Hibakódok a jogkivonatvégpont hibáihoz
Hibakód | Description | Ügyfélművelet |
---|---|---|
invalid_request | Protokollhiba, például hiányzó kötelező paraméter. | A kérés javítása és újbóli elküldése |
invalid_grant | Az engedélyezési kód érvénytelen vagy lejárt. | Új kérés kipróbálása a /authorize végponthoz |
unauthorized_client | A hitelesített ügyfél nem jogosult erre az engedélyezési engedélyezési típusra. | Ez általában akkor fordul elő, ha az ügyfélalkalmazás nincs regisztrálva Azure AD, vagy nincs hozzáadva a felhasználó Azure AD bérlőhöz. Az alkalmazás megkérheti a felhasználót, hogy telepítse az alkalmazást, és vegye fel Azure AD. |
invalid_client | Az ügyfélhitelesítés nem sikerült. | Az ügyfél hitelesítő adatai érvénytelenek. A javításhoz az alkalmazás rendszergazdája frissíti a hitelesítő adatokat. |
unsupported_grant_type | Az engedélyezési kiszolgáló nem támogatja az engedélyezési engedélyezési típust. | Módosítsa a kérelemben a támogatási típust. Ez a hibatípus csak a fejlesztés során fordulhat elő, és a kezdeti tesztelés során észlelhető. |
invalid_resource | A célerőforrás érvénytelen, mert nem létezik, Azure AD nem találja, vagy nincs megfelelően konfigurálva. | Ez azt jelzi, hogy az erőforrás , ha létezik, nincs konfigurálva a bérlőben. Az alkalmazás megkérheti a felhasználót, hogy telepítse az alkalmazást, és vegye fel Azure AD. |
interaction_required | A kérés felhasználói beavatkozást igényel. Szükség van például egy további hitelesítési lépésre. | Nem interaktív kérés helyett próbálkozzon újra egy interaktív engedélyezési kérelemmel ugyanahhoz az erőforráshoz. |
temporarily_unavailable | A kiszolgáló átmenetileg túl elfoglalt a kérés kezeléséhez. | Ismételje meg a kérést. Az ügyfélalkalmazás elmagyarázhatja a felhasználónak, hogy a válasza egy ideiglenes feltétel miatt késik. |
A hozzáférési jogkivonat használata az erőforrás eléréséhez
Most, hogy sikeresen beszerezte a -t access_token
, használhatja a jogkivonatot a webes API-k kéréseiben, ha beleveszi azt a Authorization
fejlécbe. Az RFC 6750 specifikációja azt ismerteti, hogyan használhat tulajdonosi jogkivonatokat a HTTP-kérésekben a védett erőforrások eléréséhez.
Mintakérés
GET /data HTTP/1.1
Host: service.contoso.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1THdqcHdBSk9NOW4tQSJ9.eyJhdWQiOiJodHRwczovL3NlcnZpY2UuY29udG9zby5jb20vIiwiaXNzIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvN2ZlODE0NDctZGE1Ny00Mzg1LWJlY2ItNmRlNTdmMjE0NzdlLyIsImlhdCI6MTM4ODQ0MDg2MywibmJmIjoxMzg4NDQwODYzLCJleHAiOjEzODg0NDQ3NjMsInZlciI6IjEuMCIsInRpZCI6IjdmZTgxNDQ3LWRhNTctNDM4NS1iZWNiLTZkZTU3ZjIxNDc3ZSIsIm9pZCI6IjY4Mzg5YWUyLTYyZmEtNGIxOC05MWZlLTUzZGQxMDlkNzRmNSIsInVwbiI6ImZyYW5rbUBjb250b3NvLmNvbSIsInVuaXF1ZV9uYW1lIjoiZnJhbmttQGNvbnRvc28uY29tIiwic3ViIjoiZGVOcUlqOUlPRTlQV0pXYkhzZnRYdDJFYWJQVmwwQ2o4UUFtZWZSTFY5OCIsImZhbWlseV9uYW1lIjoiTWlsbGVyIiwiZ2l2ZW5fbmFtZSI6IkZyYW5rIiwiYXBwaWQiOiIyZDRkMTFhMi1mODE0LTQ2YTctODkwYS0yNzRhNzJhNzMwOWUiLCJhcHBpZGFjciI6IjAiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJhY3IiOiIxIn0.JZw8jC0gptZxVC-7l5sFkdnJgP3_tRjeQEPgUn28XctVe3QqmheLZw7QVZDPCyGycDWBaqy7FLpSekET_BftDkewRhyHk9FW_KeEz0ch2c3i08NGNDbr6XYGVayNuSesYk5Aw_p3ICRlUV1bqEwk-Jkzs9EEkQg4hbefqJS6yS1HoV_2EsEhpd_wCQpxK89WPs3hLYZETRJtG5kvCCEOvSHXmDE6eTHGTnEgsIk--UlPe275Dvou4gEAwLofhLDQbMSjnlV5VLsjimNBVcSRFShoxmQwBJR_b2011Y5IuD6St5zPnzruBbZYkGNurQK63TJPWmRd3mbJsGM0mf3CUQ
Hibaválasz
Az RFC 6750-et implementáló biztonságos erőforrások HTTP-állapotkódokat bocsátanak ki. Ha a kérelem nem tartalmazza a hitelesítési hitelesítő adatokat, vagy hiányzik a jogkivonat, a válasz tartalmaz egy fejlécet WWW-Authenticate
. Ha egy kérés meghiúsul, az erőforrás-kiszolgáló a HTTP-állapotkóddal és egy hibakóddal válaszol.
Az alábbiakban egy példa látható egy sikertelen válaszra, ha az ügyfélkérés nem tartalmazza a tulajdonosi jogkivonatot:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer authorization_uri="https://login.microsoftonline.com/contoso.com/oauth2/authorize", error="invalid_token", error_description="The access token is missing.",
Hibaparaméterek
Paraméter | Leírás |
---|---|
authorization_uri | Az engedélyezési kiszolgáló URI-ja (fizikai végpontja). Ez az érték keresési kulcsként is használható a kiszolgálóval kapcsolatos további információk lekéréséhez egy felderítési végpontról. Az ügyfélnek ellenőriznie kell, hogy az engedélyezési kiszolgáló megbízható-e. Ha az erőforrást Azure AD védi, elegendő ellenőrizni, hogy az URL-cím az Azure AD által támogatott másik állomásnévvel |
error | Az OAuth 2.0 engedélyezési keretrendszer 5.2. szakaszában definiált hibakódérték. |
error_description | A hiba részletesebb leírása. Ez az üzenet nem végfelhasználói felhasználóbarát. |
resource_id | Az erőforrás egyedi azonosítóját adja vissza. Az ügyfélalkalmazás ezt az azonosítót használhatja a resource paraméter értékeként, amikor jogkivonatot kér az erőforráshoz. Fontos, hogy az ügyfélalkalmazás ellenőrizze ezt az értéket, különben egy rosszindulatú szolgáltatás jogosultságszint-emelési támadást indíthat A támadás megelőzésének ajánlott stratégiája annak ellenőrzése, hogy az |
Tulajdonosi séma hibakódjai
Az RFC 6750 specifikációja a következő hibákat határozza meg azon erőforrások esetében, amelyek a válaszban a WWW-Authenticate fejlécet és tulajdonosi sémát használják.
HTTP-állapotkód | Hibakód | Description | Ügyfélművelet |
---|---|---|---|
400 | invalid_request | A kérés nem megfelelően formázott. Előfordulhat például, hogy hiányzik egy paraméter, vagy kétszer ugyanazt a paramétert használja. | Javítsa ki a hibát, és próbálkozzon újra a kéréssel. Ez a hiba csak a fejlesztés során fordulhat elő, és a kezdeti tesztelés során észlelhető. |
401 | invalid_token | A hozzáférési jogkivonat hiányzik, érvénytelen vagy visszavonva. A error_description paraméter értéke további részleteket tartalmaz. | Kérjen új jogkivonatot az engedélyezési kiszolgálótól. Ha az új jogkivonat sikertelen, váratlan hiba történt. Küldjön egy hibaüzenetet a felhasználónak, és próbálkozzon újra véletlenszerű késések után. |
403 | insufficient_scope | A hozzáférési jogkivonat nem tartalmazza az erőforrás eléréséhez szükséges megszemélyesítési engedélyeket. | Küldjön egy új engedélyezési kérést az engedélyezési végpontnak. Ha a válasz tartalmazza a hatókörparamétert, használja a hatókör értékét az erőforrásra irányuló kérelemben. |
403 | insufficient_access | A jogkivonat tárgya nem rendelkezik az erőforrás eléréséhez szükséges engedélyekkel. | Kérje meg a felhasználót, hogy használjon másik fiókot, vagy kérjen engedélyeket a megadott erőforráshoz. |
A hozzáférési jogkivonatok frissítése
A hozzáférési jogkivonatok rövid élettartamúak, és a lejáratuk után frissíteni kell őket, hogy továbbra is hozzáférjenek az erőforrásokhoz. A frissítéséhez access_token
küldjön egy másik POST
kérést a /token
végpontnak, de ezúttal a helyett adja meg a refresh_token
parancsot code
. A frissítési jogkivonatok minden olyan erőforrásra érvényesek, amelyhez az ügyfél már engedélyt kapott a hozzáféréshez – így a kérelemre resource=https://graph.microsoft.com
kiadott frissítési jogkivonatok segítségével új hozzáférési jogkivonatot kérhet a számára resource=https://contoso.com/api
.
A frissítési jogkivonatok nem rendelkeznek megadott élettartamokkal. A frissítési jogkivonatok élettartama általában viszonylag hosszú. Bizonyos esetekben azonban a frissítési jogkivonatok lejárnak, visszavonják, vagy nem rendelkeznek megfelelő jogosultságokkal a kívánt művelethez. Az alkalmazásnak megfelelően kell számítania és kezelnie kell a jogkivonat-kiállítási végpont által visszaadott hibákat.
Ha frissítési jogkivonattal kapcsolatos hibaüzenetet kap, elvetheti az aktuális frissítési jogkivonatot, és új engedélyezési kódot vagy hozzáférési jogkivonatot kérhet. Különösen akkor, ha frissítési jogkivonatot használ az engedélyezési kód engedélyezési folyamatában, ha a vagy invalid_grant
hibakóddal rendelkező interaction_required
választ kapja, elvetheti a frissítési jogkivonatot, és új engedélyezési kódot kérhet.
A bérlőspecifikus végpontra irányuló mintakérés (a közös végpontot is használhatja) egy új hozzáférési jogkivonat frissítési jogkivonat használatával történő lekéréséhez a következőképpen néz ki:
// Line breaks for legibility only
POST /{tenant}/oauth2/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&refresh_token=OAAABAAAAiL9Kn2Z27UubvWFPbm0gLWQJVzCTE9UkP3pSx1aXxUjq...
&grant_type=refresh_token
&resource=https%3A%2F%2Fservice.contoso.com%2F
&client_secret=JqQX2PNo9bpM0uEihUPzyrh // NOTE: Only required for web apps
Sikeres válasz
A sikeres jogkivonat-válasz a következőképpen fog kinézni:
{
"token_type": "Bearer",
"expires_in": "3600",
"expires_on": "1460404526",
"resource": "https://service.contoso.com/",
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1THdqcHdBSk9NOW4tQSJ9.eyJhdWQiOiJodHRwczovL3NlcnZpY2UuY29udG9zby5jb20vIiwiaXNzIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvN2ZlODE0NDctZGE1Ny00Mzg1LWJlY2ItNmRlNTdmMjE0NzdlLyIsImlhdCI6MTM4ODQ0MDg2MywibmJmIjoxMzg4NDQwODYzLCJleHAiOjEzODg0NDQ3NjMsInZlciI6IjEuMCIsInRpZCI6IjdmZTgxNDQ3LWRhNTctNDM4NS1iZWNiLTZkZTU3ZjIxNDc3ZSIsIm9pZCI6IjY4Mzg5YWUyLTYyZmEtNGIxOC05MWZlLTUzZGQxMDlkNzRmNSIsInVwbiI6ImZyYW5rbUBjb250b3NvLmNvbSIsInVuaXF1ZV9uYW1lIjoiZnJhbmttQGNvbnRvc28uY29tIiwic3ViIjoiZGVOcUlqOUlPRTlQV0pXYkhzZnRYdDJFYWJQVmwwQ2o4UUFtZWZSTFY5OCIsImZhbWlseV9uYW1lIjoiTWlsbGVyIiwiZ2l2ZW5fbmFtZSI6IkZyYW5rIiwiYXBwaWQiOiIyZDRkMTFhMi1mODE0LTQ2YTctODkwYS0yNzRhNzJhNzMwOWUiLCJhcHBpZGFjciI6IjAiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJhY3IiOiIxIn0.JZw8jC0gptZxVC-7l5sFkdnJgP3_tRjeQEPgUn28XctVe3QqmheLZw7QVZDPCyGycDWBaqy7FLpSekET_BftDkewRhyHk9FW_KeEz0ch2c3i08NGNDbr6XYGVayNuSesYk5Aw_p3ICRlUV1bqEwk-Jkzs9EEkQg4hbefqJS6yS1HoV_2EsEhpd_wCQpxK89WPs3hLYZETRJtG5kvCCEOvSHXmDE6eTHGTnEgsIk--UlPe275Dvou4gEAwLofhLDQbMSjnlV5VLsjimNBVcSRFShoxmQwBJR_b2011Y5IuD6St5zPnzruBbZYkGNurQK63TJPWmRd3mbJsGM0mf3CUQ",
"refresh_token": "AwABAAAAv YNqmf9SoAylD1PycGCB90xzZeEDg6oBzOIPfYsbDWNf621pKo2Q3GGTHYlmNfwoc-OlrxK69hkha2CF12azM_NYhgO668yfcUl4VBbiSHZyd1NVZG5QTIOcbObu3qnLutbpadZGAxqjIbMkQ2bQS09fTrjMBtDE3D6kSMIodpCecoANon9b0LATkpitimVCrl PM1KaPlrEqdFSBzjqfTGAMxZGUTdM0t4B4rTfgV29ghDOHRc2B-C_hHeJaJICqjZ3mY2b_YNqmf9SoAylD1PycGCB90xzZeEDg6oBzOIPfYsbDWNf621pKo2Q3GGTHYlmNfwoc-OlrxK69hkha2CF12azM_NYhgO668yfmVCrl-NyfN3oyG4ZCWu18M9-vEou4Sq-1oMDzExgAf61noxzkNiaTecM-Ve5cq6wHqYQjfV9DOz4lbceuYCAA"
}
Paraméter | Leírás |
---|---|
token_type | A jogkivonat típusa. Az egyetlen támogatott érték a tulajdonos. |
expires_in | A jogkivonat hátralévő élettartama másodpercben. Egy tipikus érték 3600 (egy óra). |
expires_on | A jogkivonat lejáratának dátuma és időpontja. A dátum az 1970-01-01T0:0:0Z UTC és a lejárati idő közötti másodpercek számaként jelenik meg. |
erőforrás | Azonosítja azt a biztonságos erőforrást, amelyhez a hozzáférési jogkivonat használható. |
scope | A natív ügyfélalkalmazásnak megadott megszemélyesítési engedélyek. Az alapértelmezett engedély a user_impersonation. A célerőforrás tulajdonosa regisztrálhat alternatív értékeket Azure AD. |
access_token | A kért új hozzáférési jogkivonat. |
refresh_token | Egy új OAuth 2.0-refresh_token, amellyel új hozzáférési jogkivonatokat kérhet, amikor a válaszban szereplő jogkivonat lejár. |
Hibaválasz
A hibaválasz-minta a következőképpen nézhet ki:
{
"error": "invalid_resource",
"error_description": "AADSTS50001: The application named https://foo.microsoft.com/mail.read was not found in the tenant named 295e01fc-0c56-4ac3-ac57-5d0ed568f872. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You might have sent your authentication request to the wrong tenant.\r\nTrace ID: ef1f89f6-a14f-49de-9868-61bd4072f0a9\r\nCorrelation ID: b6908274-2c58-4e91-aea9-1f6b9c99347c\r\nTimestamp: 2016-04-11 18:59:01Z",
"error_codes": [
50001
],
"timestamp": "2016-04-11 18:59:01Z",
"trace_id": "ef1f89f6-a14f-49de-9868-61bd4072f0a9",
"correlation_id": "b6908274-2c58-4e91-aea9-1f6b9c99347c"
}
Paraméter | Leírás |
---|---|
error | Hibakódsztring, amely a felmerülő hibák típusainak besorolására használható, és a hibákra való reagálásra használható. |
error_description | Egy adott hibaüzenet, amely segíthet a fejlesztőknek azonosítani a hitelesítési hiba kiváltó okát. |
error_codes | StS-specifikus hibakódok listája, amelyek segíthetnek a diagnosztikában. |
időbélyeg | A hiba előfordulásának időpontja. |
trace_id | A kérés egyedi azonosítója, amely segíthet a diagnosztikában. |
correlation_id | A kérés egyedi azonosítója, amely segíthet az összetevők közötti diagnosztikában. |
A hibakódok leírásáért és az ajánlott ügyfélműveletért lásd: Hibakódok a jogkivonatvégpontok hibáihoz.
Következő lépések
A Azure AD 1.0-s verziójú végpontról, valamint a hitelesítés és engedélyezés webalkalmazásokhoz és webes API-khoz való hozzáadásáról a mintaalkalmazások című témakörben olvashat bővebben.