Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
PLATÍ PRO: Vývojář | Základní | Basic v2 | Standardní | Standard v2 | Premium | Premium v2
Delegování umožňuje vašemu webu vlastnit uživatelská data a provádět vlastní ověření pro uživatele portálu pro vývojáře. S delegováním můžete pracovat s přihlášením a přihlašováním vývojářů (a souvisejícími operacemi správy účtů) a s předplatným produktů pomocí existujícího webu místo integrované funkce portálu pro vývojáře.
Delegování přihlášení a registrace vývojáře
Pokud chcete delegovat možnosti správy přihlašovacích a registračních a vývojářských účtů na stávající web, vytvořte na svém webu speciální koncový bod delegování. Toto speciální delegování funguje jako vstupní bod pro všechny žádosti o přihlášení nebo registraci a související požadavky iniciované z portálu pro vývojáře služby API Management.
Konečný pracovní postup se skládá z těchto kroků:
- Vývojář klikne na odkaz pro přihlášení nebo registraci nebo odkaz pro správu účtů na portálu pro vývojáře služby API Management.
- Prohlížeč přesměruje na koncový bod delegování.
- Koncový bod delegování při návratu přesměruje uživatele na rozhraní pro přihlášení, registraci či správu účtů.
- Po dokončení operace se uživatel přesměruje zpět na portál pro vývojáře služby API Management v umístění, které opustil.
Nastavení služby API Management pro směrování požadavků prostřednictvím koncového bodu delegování
Na webu Azure Portal přejděte do vaší instance služby API Management.
V nabídce bočního panelu v části Portál pro vývojáře vyberte Delegování.
Zaškrtnutím políčka povolte delegování.
Zaškrtnutím políčka povolíte přihlášení delegáta a registraci.
Zvolte adresu URL pro váš speciální koncový bod delegování a zadejte ji do pole Koncový bod služby delegování .
V klíčích delegování:
- Vygenerujte primární ověřovací klíč nebo sekundární ověřovací klíč (nebo obojí), který má služba delegování použít k ověření požadavků ze služby API Management. Vyberte trojtečku (...) vedle buďto klíče a pak vyberte Znovu vygenerovat.
- Vyberte výpustku (...) vedle libovolného klíče a pak vyberte Kopírovat. Zkopírujte klíče do zabezpečeného umístění a použijte je při konfiguraci služby delegování.
Vyberte Uložit.
Návod
Ověřovací klíče delegování můžete kdykoliv otočit a znovu vygenerovat. Otočení nahradí primární klíč sekundárním klíčem a znovu vygeneruje sekundární klíč. Po uložení klíčů nezapomeňte aktualizovat službu delegování tak, aby používala nové klíče.
Vytvoření koncového bodu delegování
Pokud chcete vytvořit nový koncový bod delegování pro implementaci na webu, postupujte takto:
V závislosti na operaci obdržíte požadavek v následujícím formuláři:
http://www.yourwebsite.com/apimdelegation?operation={operation}& returnUrl={URL zdrojové stránky}&salt={string}&sig={string}
-nebo-
http://www.yourwebsite.com/apimdelegation?operation={operation}& userId={ID uživatele účtu}&salt={string}&sig={string}
Parametry dotazu:
Parametr Popis operace Identifikuje typ žádosti o delegování. Dostupné operace: SignIn, SignUp, ChangePassword, ChangeProfile, CloseAccount, SignOut. returnUrl Při přihlášení nebo přihlášení se zobrazí adresa URL, na které uživatel klikl na odkaz pro přihlášení nebo registraci. userId V souboru ChangePassword, ChangeProfile, CloseAccount a SignOut je ID uživatele účtu, který chcete spravovat. sůl Speciální slaný řetězec používaný k výpočtu hodnoty hash zabezpečení. Sig Vypočítaný bezpečnostní hash používaný pro porovnání s vaším vlastním. Ověřte, že požadavek pochází ze služby Azure API Management (volitelné, ale důrazně se doporučuje pro zabezpečení).
Vypočítejte hash HMAC-SHA512 řetězce na základě parametrů returnUrl (nebo UserId) a salt. Příklady najdete v našem ukázkovém kódu.
Pro přihlášení a registraci:
HMAC(salt + '\n' + returnUrl)Pro ChangePassword, ChangeProfile, CloseAccount a SignOut:
HMAC(salt + '\n' + userId)Porovnejte výše vypočítanou hodnotu hash s hodnotou parametru dotazu sig . Pokud se obě hodnoty hash shodují, přejděte k dalšímu kroku. Jinak žádost odepřete.
Ověřte, že obdržíte žádost o operaci přihlašování nebo registrace nebo správy účtů.
Prezentujte uživatele pomocí uživatelského rozhraní pro přihlášení nebo registraci nebo správu účtů.
Po dokončení operace na vaší straně spravujte uživatele ve službě API Management. Pokud se uživatel například zaregistruje, vytvořte pro ně odpovídající účet ve službě API Management.
- Vytvořte uživatele pomocí rozhraní REST API služby API Management.
- Nastavte ID uživatele na stejnou hodnotu ve vašem úložišti uživatelů nebo na nové, snadno sledované ID.
Po přihlášení nebo registraci, když je uživatel úspěšně autentizován:
Vyžádání sdíleného přístupového tokenu prostřednictvím rozhraní REST API služby API Management
K adrese URL jednotného přihlašování, kterou jste obdrželi z výše uvedeného volání rozhraní API, připojte parametr dotazu returnUrl. Příklad:
https://contoso.developer.azure-api.net/signin-sso?token=<URL-encoded token>&returnUrl=%2Freturn%2FurlPřesměrujte uživatele na výše vytvořenou adresu URL.
Delegování předplatného produktu
Delegování předplatných produktů funguje podobně jako delegování přihlášení nebo registrace uživatele. Konečný pracovní postup se skládá z těchto kroků:
- Vývojář vybere produkt na portálu pro vývojáře služby API Management a vybere tlačítko Přihlásit se k odběru .
- Prohlížeč přesměruje na koncový bod delegování.
- Koncový bod delegování provádí požadované kroky předplatného produktu, které navrhujete. Mezi tyto kroky patří:
- Přesměrování na jinou stránku pro vyžádání fakturačních údajů
- Kladení dalších otázek.
- Ukládání informací a nevyžaduje žádnou akci uživatele.
Povolení funkcí služby API Management
Na stránce Delegování zaškrtněte políčko Povolit delegování a potom povolte předplatné produktu Delegovat.
Vytvoření koncového bodu delegování
Pokud chcete pro svůj web vytvořit nový koncový bod delegování, postupujte takto:
V závislosti na operaci obdržíte požadavek v následujícím formuláři.
http://www.yourwebsite.com/apimdelegation?operation={operation}&p roductId={product to subscribe to}&userId={user making request}&salt={string}&sig={string}
-nebo-
http://www.yourwebsite.com/apimdelegation?operation={operation}& subscriptionId={subscription to manage}&salt={string}&sig={string}
Parametry dotazu:
Parametr Popis operace Identifikuje typ žádosti o delegování. Platné možnosti žádosti o předplatné produktu jsou: - Přihlášení k odběru: Žádost o přihlášení uživatele k odběru daného produktu se zadaným ID (viz níže).
- Odhlášení odběru: Žádost o odhlášení odběru uživatele z produktu
Productid Při přihlášení k odběru je ID produktu, které uživatel požádal o předplatné. userId Při přihlášení k odběru se zobrazí ID žádajícího uživatele. subscriptionId Při odhlášení se použije ID předplatného produktu. sůl Speciální slaný řetězec používaný k výpočtu hodnoty hash zabezpečení. Sig Vypočítaný bezpečnostní hash používaný pro porovnání s vaším vlastním. Ověřte, že požadavek pochází ze služby Azure API Management (volitelné, ale důrazně se doporučuje pro zabezpečení).
Vypočítá HMAC-SHA512 z řetězce založeného na parametrech dotazu productId a userId (nebo subscriptionId) a salt.
Pro přihlášení k odběru:
HMAC(salt + '\n' + productId + '\n' + userId)Odhlášení odběru:
HMAC(salt + '\n' + subscriptionId)Porovnejte výše vypočítanou hodnotu hash s hodnotou parametru dotazu sig . Pokud se obě hodnoty hash shodují, přejděte k dalšímu kroku. Jinak žádost odepřete.
Zpracování předplatného produktu na základě typu operace požadovaného v provozu (například fakturace, další dotazy atd.).
Po dokončení operace na vaší straně spravujte předplatné ve službě API Management. Můžete například přihlásit uživatele k odběru produktu API Management voláním rozhraní REST API pro předplatná.
Příklad kódu
Tyto ukázky kódu ukazují, jak vygenerovat hodnotu hash parametru returnUrl dotazu při delegování přihlášení nebo registrace uživatele. Adresa returnUrl URL stránky, na které uživatel klikl na přihlašovací nebo registrační odkaz.
- Vezměte ověřovací klíč delegování, který jste nastavili na obrazovce Delegování na webu Azure Portal.
- Vytvořte HMAC, který ověří podpis a prokáže platnost předaného
returnUrl.
S mírnou úpravou můžete použít stejný kód k výpočtu dalších hashů, například pomocí productId a userId při delegování předplatného produktu.
Kód jazyka C# pro vygenerování hodnoty hash returnUrl
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
}
Kód Node.js pro generování hodnoty hash returnUrl
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');
Důležité
Aby se změny delegování projevily, musíte znovu publikovat portál pro vývojáře.
Související obsah
- Další informace o portálu pro vývojáře
- Ověřování pomocí ID Microsoft Entra nebo s externím ID Microsoft Entra
- Další dotazy k portálu pro vývojáře? Odpovědi najdete v nejčastějších dotazech.