Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A KÖVETKEZŐKRE VONATKOZIK: Fejlesztő | Alapszintű | Alapszintű v2 | Standard | Standard v2 | Prémium | Prémium v2
A delegálás lehetővé teszi, hogy a webhely birtokolja a felhasználói adatokat, és egyéni ellenőrzést végezzen a fejlesztői portál felhasználói számára. A delegálással a fejlesztői bejelentkezést és a regisztrációt (és a kapcsolódó fiókkezelési műveleteket) és a termék-előfizetést a meglévő webhely használatával kezelheti a fejlesztői portál beépített funkciói helyett.
Fejlesztői bejelentkezés és regisztráció delegálása
Ha a fejlesztői bejelentkezési, regisztrációs és fejlesztői fiókkezelési lehetőségeket a meglévő webhelyre szeretné delegálni, hozzon létre egy speciális delegálási végpontot a webhelyen. Ez a különleges delegálás szolgál belépési pontként az API Management fejlesztői portálról kezdeményezett minden bejelentkezési/regisztrációs és kapcsolódó kéréshez.
A végső munkafolyamat a következő lépésekből áll:
- A fejlesztő a bejelentkezési vagy regisztrációs hivatkozásra vagy egy fiókkezelési hivatkozásra kattint az API Management fejlesztői portálján.
- A böngésző átirányítja a delegálási végpontra.
- A delegálási végpont cserébe átirányítja a felhasználót a bejelentkezési/regisztrációs vagy fiókkezelési felhasználói felületre, vagy megjeleníti azt.
- A művelet befejezése után a felhasználó visszairányításra kerül az API Management fejlesztői portáljára arra a helyre, ahol utoljára járt.
Az API Management beállítása a kérelmek delegálási végponton keresztüli átirányításához
Az Azure Portalon nyissa meg az API Management-példányt.
Az oldalsáv menüjében, a Fejlesztői portál területen válassza a Delegálás lehetőséget.
Jelölje be a jelölőnégyzetet a delegálás engedélyezéséhez.
Jelölje be a jelölőnégyzetet a Delegált bejelentkezés > regisztráció engedélyezéséhez.
Válassza ki a speciális delegálási végpont URL-címét, és írja be a Delegálási szolgáltatás végpont mezőjébe.
Delegálási kulcsokban:
- Hozza létre az elsődleges érvényesítési kulcsot vagy a másodlagos érvényesítési kulcsot (vagy mindkettőt), amelyet a delegálási szolgáltatás használ az API Management kéréseinek ellenőrzéséhez. Jelölje ki a három pontot (...) a kulcs mellett, majd válassza az Újragenerálás lehetőséget.
- Válassza ki az "ellipszis" (...) jelet bármelyik kulcs mellett, majd válassza a Másolás lehetőséget. Másolja a kulcsokat egy biztonságos helyre, és használja őket a delegálási szolgáltatás konfigurálásakor.
Válassza az Mentésgombot.
Jótanács
A delegálás érvényesítési kulcsait bármikor elforgathatja és újra létrehozhatja. A forgatás az elsődleges kulcsot a másodlagos kulcsra cseréli, és újragenerálja a másodlagos kulcsot. A kulcsok mentése után frissítse a delegálási szolgáltatást az új kulcsok használatára.
A delegálási végpont létrehozása
Ha új delegálási végpontot szeretne létrehozni a webhelyen való implementáláshoz, kövesse az alábbi lépéseket:
A művelettől függően a következő űrlapon kaphat kérést:
http://www.yourwebsite.com/apimdelegation?operation={operation}& returnUrl={A forrásoldal URL-címe}&só={string}&sig={string}
-Vagy-
http://www.yourwebsite.com/apimdelegation?operation={operation}& userId={fiók felhasználói azonosítója}&salt={string}&sig={string}
Lekérdezési paraméterek:
Paraméter Leírás művelet Azonosítja a delegálási kérelem típusát. Elérhető műveletek: SignIn, SignUp, ChangePassword, ChangeProfile, CloseAccount, SignOut. returnUrl Bejelentkezéskor vagy regisztrációkor annak az URL-címnek az URL-címe, amelyre a felhasználó egy bejelentkezési vagy regisztrációs hivatkozásra kattintott. userId ChangePassword, ChangeProfile, CloseAccount és SignOut esetén a kezelni kívánt fiók felhasználói azonosítója. só Egy speciális só karakterlánc, amely biztonsági kivonat kiszámítására szolgál. Sig A saját számítási kivonat összehasonlításához használt számított biztonsági kivonat. Ellenőrizze, hogy a kérés az Azure API Managementtől származik-e (nem kötelező, de a biztonság szempontjából erősen ajánlott).
Egy sztring HMAC-SHA512 hashának kiszámítása a returnUrl (vagy UserId) és só lekérdezési paraméterek alapján. Ellenőrizze például a példakódot.
Bejelentkezés és regisztráció esetén:
HMAC(salt + '\n' + returnUrl)Jelszó megváltoztatása, Profil megváltoztatása, Fiók bezárása és Kijelentkezés:
HMAC(salt + '\n' + userId)Hasonlítsa össze a fenti számítási kivonatot a sig lekérdezési paraméter értékével. Ha a két kivonat egyezik, akkor lépjen a következő fázisba. Ellenkező esetben tagadja meg a kérést.
Ellenőrizze, hogy kapott-e egy bejelentkezési/regisztrációs vagy fiókkezelési műveletre vonatkozó kérést.
A felhasználó bemutatása bejelentkezési/regisztrációs vagy fiókkezelési felhasználói felülettel.
Miután elvégezte a műveletet az Ön oldalán, kezelje a felhasználót az API Managementben. Ha például a felhasználó regisztrál, hozzon létre egy megfelelő fiókot az API Managementben.
- Hozzon létre egy felhasználót az API Management REST API-val.
- Állítsa be a felhasználói azonosítót ugyanarra az értékre a felhasználói tárolóban, vagy egy új, könnyen nyomon követhető azonosítót.
A bejelentkezés vagy a regisztráció után, amikor a felhasználó hitelesítése sikeresen megtörtént:
Közös hozzáférési jogkivonat kérése az API Management REST API-val.
Fűzze hozzá a returnUrl lekérdezési paramétert a fenti API-hívástól kapott egyszeri bejelentkezés URL-címéhez. Példa:
https://contoso.developer.azure-api.net/signin-sso?token=<URL-encoded token>&returnUrl=%2Freturn%2FurlA felhasználó átirányítása a fent létrehozott URL-címre.
Termék-előfizetés delegálása
A termék-előfizetések delegálása ugyanúgy működik, mint a felhasználói bejelentkezés/regisztráció delegálása. A végső munkafolyamat a következő lépésekből áll:
- A fejlesztő kiválaszt egy terméket az API Management fejlesztői portálján, és kiválasztja a Feliratkozás gombot.
- A böngésző átirányítja a delegálási végpontra.
- A delegálási végpont végrehajtja a szükséges termék-előfizetési lépéseket, amelyeket ön tervez. Ezek a lépések a következők lehetnek:
- Átirányítás egy másik oldalra számlázási adatok kéréséhez.
- További kérdéseket lehet feltenni.
- Az információk tárolása, és nem igényel felhasználói műveletet.
Az API Management funkció engedélyezése
A Delegálás lapon jelölje be a delegálás engedélyezéséhez szükséges jelölőnégyzetet, majd engedélyezze a termék-előfizetés delegálását.
A delegálási végpont létrehozása
Ha új delegálási végpontot szeretne létrehozni a webhelyhez, kövesse az alábbi lépéseket:
A művelettől függően a következő űrlapon kaphat kérést.
http://www.yourwebsite.com/apimdelegation?operation={operation}&p roductId={product to subscribe to}&userId={user making request}&salt={string}&sig={string}
-Vagy-
http://www.yourwebsite.com/apimdelegation?operation={operation}& subscriptionId={kezelendő előfizetés}&só={karakterlánc}&sig={karakterlánc}
Lekérdezési paraméterek:
Paraméter Leírás művelet Azonosítja a delegálási kérelem típusát. A termék-előfizetés érvényes kérési beállításai a következők: - Feliratkozás: a felhasználónak egy megadott azonosítóval rendelkező termékre való feliratkozásra vonatkozó kérés (lásd alább).
- Leiratkozás: egy felhasználó termékről való leiratkozására irányuló kérés
Termelés Feliratkozáskor a felhasználó által kért termékazonosítót. userId A feliratkozáskor a kérelmező felhasználó azonosítója: Subscribe. subscriptionId Az leiratkozás gombnál a termék-előfizetés azonosítója. só Egy speciális só karakterlánc, amely biztonsági kivonat kiszámítására szolgál. Sig A saját számítási kivonat összehasonlításához használt számított biztonsági kivonat. Ellenőrizze, hogy a kérés az Azure API Management szolgáltatásból származik-e (nem kötelező, de a biztonság szempontjából erősen ajánlott).
Egy sztring HMAC-SHA512-jének kiszámítása a productId és a userId (vagy subscriptionId) és a só lekérdezési paraméterek alapján:
Előfizetés esetén:
HMAC(salt + '\n' + productId + '\n' + userId)Leiratkozás esetén:
HMAC(salt + '\n' + subscriptionId)Hasonlítsa össze a fenti számítási kivonatot a sig lekérdezési paraméter értékével. Ha a két kivonat egyezik, lépjen a következő lépésre. Ellenkező esetben tagadja meg a kérést.
A termék-előfizetés feldolgozása a műveletben kért művelettípus alapján (például számlázás, további kérdések stb.).
Miután elvégezte a műveletet az Ön oldalán, kezelje az előfizetést az API Managementben. Előfizetheti a felhasználót például az API Management termékre, a REST API-t hívva az előfizetésekhez.
Mintakód
Ezek a kódminták bemutatják, hogyan hozhatja létre a lekérdezési paraméter kivonatát a returnUrl felhasználói bejelentkezés vagy a regisztráció delegálása során. Annak returnUrl a lapnak az URL-címe, amelyre a felhasználó a bejelentkezési vagy regisztrációs hivatkozásra kattintott.
- Használja a delegálás érvényesítési kulcsát, amelyet az Azure Portal Delegálás képernyőjén állított be.
- Hozzon létre egy HMAC-t, amely ellenőrzi az aláírást, és igazolja az átadott tanúsítvány érvényességét
returnUrl.
Kis módosítással ugyanazt a kódot használhatja más kivonatok kiszámításához, például a productId és a userId használatával a termék-előfizetés delegálásakor.
C#-kód a returnUrl kivonatának létrehozásához
using System.Security.Cryptography;
string key = "delegation validation key";
string returnUrl = "returnUrl query parameter";
string salt = "salt query parameter";
string signature;
using (var encoder = new HMACSHA512(Convert.FromBase64String(key)))
{
signature = Convert.ToBase64String(encoder.ComputeHash(Encoding.UTF8.GetBytes(salt + "\n" + returnUrl)));
// change to (salt + "\n" + productId + "\n" + userId) when delegating product subscription
// compare signature to sig query parameter
}
Node.js kód a returnUrl kivonatának létrehozásához
var crypto = require('crypto');
var key = 'delegation validation key';
var returnUrl = 'returnUrl query parameter';
var salt = 'salt query parameter';
var hmac = crypto.createHmac('sha512', new Buffer(key, 'base64'));
var digest = hmac.update(salt + '\n' + returnUrl).digest();
// change to (salt + "\n" + productId + "\n" + userId) when delegating product subscription
// compare signature to sig query parameter
var signature = digest.toString('base64');
Fontos
A delegálási módosítások érvénybe lépéséhez újra közzé kell tennie a fejlesztői portált .
Kapcsolódó tartalom
- További információ a fejlesztői portálról
- Hitelesítés Microsoft Entra-azonosítóval vagy Külső Microsoft Entra-azonosítóval
- További fejlesztői portállal kapcsolatos kérdések? A válaszokat a gyakori kérdések között találja.