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.
Fontos
2025. május 1-jére az Azure AD B2C már nem lesz elérhető az új ügyfelek számára. További információ a GYIK-ben.
Amikor egy REST API-t integrál egy Azure AD B2C felhasználói folyamatba, hitelesítéssel kell védenie a REST API-végpontot. A REST API hitelesítés biztosítja, hogy csak a megfelelő hitelesítő adatokkal rendelkező szolgáltatások, például a Azure AD B2C hívhassák meg a végpontot. Ez a cikk bemutatja, hogyan lehet biztonságossá tenni a REST API-t.
Előfeltételek
Kövesse az API-összekötő hozzáadása regisztrációs felhasználói folyamathoz útmutató lépéseit.
Az API-végpontot HTTP-alapszintű vagy HTTPS-ügyféltanúsítvány-hitelesítéssel védheti. Mindkét esetben meg kell adnia azokat a hitelesítő adatokat, amelyeket a Azure AD B2C használ az API-végpont meghívásakor. Az API-végpont ezután ellenőrzi a hitelesítő adatokat, és engedélyezési döntéseket hoz.
ALAPSZINTŰ HTTP-hitelesítés
A HTTP alapszintű hitelesítés az RFC 2617-ben van definiálva. Az alapszintű hitelesítés a következőképpen működik:
Azure AD B2C HTTP-kérést küld az ügyfél hitelesítő adataival, amelyek a `
username` fejlécben vannak (passwordésAuthorization).A hitelesítő adatok alap64 kódolású sztringként
username:passwordvannak formázva.Ezután az API feladata, hogy ellenőrizze ezeket az értékeket más engedélyezési döntések végrehajtásához.
Az API-összekötő http-alapszintű hitelesítéssel való konfigurálásához kövesse az alábbi lépéseket:
- Jelentkezzen be a Azure portalra.
- Az Azure-szolgáltatások alatt válassza a Azure AD B2C lehetőséget, vagy keresse meg és válassza a Azure AD B2C.
- Válassza az API-összekötők lehetőséget, majd válassza ki a konfigurálni kívánt API-összekötőt .
- A hitelesítés típusához válassza az Alapszintű lehetőséget.
- Adja meg a REST API-végpont felhasználónevét és jelszavát .
- Válassza az Mentésgombot.
REST API felhasználónév- és jelszóházirend-kulcsok hozzáadása
Ha alapszintű HTTP-hitelesítéssel szeretne konfigurálni egy REST API technikai profilt, hozza létre a következő titkosítási kulcsokat a felhasználónév és a jelszó tárolásához:
- Jelentkezzen be a Azure portalra.
- Ha több bérlőhöz is hozzáférése van, a felső menüben a Beállítások ikont választva váltson az Azure AD B2C-bérlőre a Címtárak + előfizetések menüből.
- Válassza az Összes szolgáltatást az Azure Portal bal felső sarkában, majd keresse meg és válassza az Azure AD B2C-t.
- Az Áttekintés lapon válassza a Identity Experience Framework-et.
- Válassza a Házirendkulcsok lehetőséget, majd válassza a Hozzáadás lehetőséget.
- A Beállítások beállításnál válassza a Manuális lehetőséget.
- A Név mezőbe írja be a következőt: RestApiUsername. Előfordulhat, hogy az előtag B2C_1A_ automatikusan hozzáadódik.
- A Titkos kód mezőbe írja be a REST API felhasználónevet.
- Kulcshasználat esetén válassza a Titkosítás lehetőséget.
- Válassza a Create gombot.
- Válassza ki ismét a Házirendkulcsok lehetőséget.
- Válassza a Hozzáadás lehetőséget.
- A Beállítások beállításnál válassza a Manuális lehetőséget.
- A Név mezőbe írja be a következőt: RestApiPassword. Előfordulhat, hogy az előtag B2C_1A_ automatikusan hozzáadódik.
- A Titkos kód mezőbe írja be a REST API jelszót.
- Kulcshasználat esetén válassza a Titkosítás lehetőséget.
- Válassza a Create gombot.
A REST API technikai profil konfigurálása alapszintű HTTP-hitelesítés használatára
A szükséges kulcsok létrehozása után konfigurálja a REST API technikai profil metaadatait a hitelesítő adatokra való hivatkozáshoz.
- A munkakönyvtárban nyissa meg a kiterjesztés házirend fájlt (TrustFrameworkExtensions.xml).
- Keresse meg a REST API technikai profilt. Például
REST-ValidateProfile, vagyREST-GetProfile. - Keresse meg a
<Metadata>elemet. - Módosítsa az AuthenticationType értéket
Basic. - Módosítsa az AllowInsecureAuthInProduction értéket .
false - Közvetlenül a záró
</Metadata>elem után adja hozzá a következő XML-kódrészletet:<CryptographicKeys> <Key Id="BasicAuthenticationUsername" StorageReferenceId="B2C_1A_RestApiUsername" /> <Key Id="BasicAuthenticationPassword" StorageReferenceId="B2C_1A_RestApiPassword" /> </CryptographicKeys>
Az alábbi XML-kódrészlet egy példa egy alapszintű HTTP-hitelesítéssel konfigurált RESTful technikai profilra:
<ClaimsProvider>
<DisplayName>REST APIs</DisplayName>
<TechnicalProfiles>
<TechnicalProfile Id="REST-GetProfile">
<DisplayName>Get user extended profile Azure Function web hook</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="ServiceUrl">https://your-account.azurewebsites.net/api/GetProfile?code=your-code</Item>
<Item Key="SendClaimsIn">Body</Item>
<Item Key="AuthenticationType">Basic</Item>
<Item Key="AllowInsecureAuthInProduction">false</Item>
</Metadata>
<CryptographicKeys>
<Key Id="BasicAuthenticationUsername" StorageReferenceId="B2C_1A_RestApiUsername" />
<Key Id="BasicAuthenticationPassword" StorageReferenceId="B2C_1A_RestApiPassword" />
</CryptographicKeys>
...
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
HTTPS-ügyféltanúsítvány-hitelesítés
Az ügyféltanúsítvány-hitelesítés egy kölcsönös tanúsítványalapú hitelesítés, ahol az ügyfél, Azure AD B2C, megadja az ügyféltanúsítványát a kiszolgálónak az identitás igazolására. Ez az SSL-kézfogás részeként történik. Az API felelős az érvényes ügyfélhez tartozó tanúsítványok ellenőrzéséért, például Azure AD B2C, és az engedélyezési döntések végrehajtásáért. Az ügyféltanúsítvány egy X.509 digitális tanúsítvány.
Fontos
Éles környezetben a tanúsítványt egy hitelesítésszolgáltatónak kell aláírnia.
Tanúsítvány létrehozása
1. lehetőség: Az Azure Key Vault használata (ajánlott)
Tanúsítvány létrehozásához használhatja az Azure Key Vaultot, amely önaláírt tanúsítványokra és az aláírt tanúsítványok tanúsítványkibocsátó szolgáltatóival való integrációra vonatkozó lehetőségekkel rendelkezik. Az ajánlott beállítások a következők:
-
Tárgy:
CN=<yourapiname>.<tenantname>.onmicrosoft.com -
Tartalom típusa:
PKCS #12 -
Élettartam acton típusa:
Email all contacts at a given percentage lifetimevagyEmail all contacts a given number of days before expiry -
Kulcs típusa:
RSA -
Kulcsméret:
2048 -
Exportálható titkos kulcs:
Yes(a fájl exportálásához.pfx)
Ezután exportálhatja a tanúsítványt.
2. lehetőség: Önaláírt tanúsítvány előkészítése PowerShell-modullal
Ha még nem rendelkezik tanúsítvánnyal, használhat önaláírt tanúsítványt. Az önaláírt tanúsítvány olyan biztonsági tanúsítvány, amelyet nem egy hitelesítésszolgáltató (CA) ír alá, és nem biztosítja a hitelesítésszolgáltató által aláírt tanúsítvány biztonsági garanciáit.
Windows rendszeren a PowerShell New-SelfSignedCertificate parancsmagja segítségével hozzon létre tanúsítványt.
Futtassa a következő PowerShell-parancsot egy önaláírt tanúsítvány létrehozásához. Módosítsa az argumentumot az
-Subjectalkalmazáshoz és az Azure AD B2C-bérlő nevéhez, példáulcontosowebapp.contoso.onmicrosoft.com. A dátumot úgy is módosíthatja-NotAfter, hogy a tanúsítvány lejárata eltérő legyen.New-SelfSignedCertificate ` -KeyExportPolicy Exportable ` -Subject "CN=yourappname.yourtenant.onmicrosoft.com" ` -KeyAlgorithm RSA ` -KeyLength 2048 ` -KeyUsage DigitalSignature ` -NotAfter (Get-Date).AddMonths(12) ` -CertStoreLocation "Cert:\CurrentUser\My"Windows rendszerű számítógépen keresse meg és válassza a Felhasználói tanúsítványok kezelése lehetőséget
A Tanúsítványok – Aktuális felhasználó csoportban válassza a Személyestanúsítványok>> lehetőséget.
Jelölje ki a tanúsítványt, majd válassza az Összes tevékenység> művelet>lehetőséget.
Válassza a Következő>igen lehetőséget, exportálja a Következő titkos kulcsot.>
Fogadja el a fájlformátum exportálásának alapértelmezett értékét, majd válassza a Tovább gombot.
Engedélyezze a Jelszó beállítást, adjon meg egy jelszót a tanúsítványhoz, majd válassza a Tovább gombot.
A tanúsítvány mentési helyének megadásához válassza a Tallózás lehetőséget , és keresse meg a kívánt könyvtárat.
A Mentés másként ablakban adjon meg egy fájlnevet, majd válassza a Mentés lehetőséget.
Válassza a Következő>Befejezéslehetőséget.
Ahhoz, hogy az Azure AD B2C elfogadja a .pfx fájljelszót, a jelszót az AES256-SHA256 helyett a Windows Tanúsítványtár exportálási segédprogram TripleDES-SHA1 beállításával kell titkosítani.
Az API-összekötő konfigurálása
Az API-összekötő ügyféltanúsítvány-hitelesítéssel való konfigurálásához kövesse az alábbi lépéseket:
- Jelentkezzen be a Azure portalra.
- Az Azure-szolgáltatások területen válassza az Azure AD B2C-t.
- Válassza az API-összekötők lehetőséget, majd válassza ki a konfigurálni kívánt API-összekötőt .
- A hitelesítés típusához válassza a Tanúsítvány lehetőséget.
- A Tanúsítvány feltöltése mezőben válassza ki a tanúsítvány .pfx fájlját egy titkos kulccsal.
-
Az Enter Password (Jelszó megadása) mezőbe írja be a tanúsítvány jelszavát.
- Válassza az Mentésgombot.
Engedélyezési döntések végrehajtása
Az API-nak az elküldött ügyféltanúsítványok alapján kell implementálnia az engedélyezést az API-végpontok védelme érdekében. A szolgáltatás és az Azure Functions Azure-alkalmazás a TLS kölcsönös hitelesítésének konfigurálását ismertető cikkben megtudhatja, hogyan engedélyezheti és ellenőrizheti a tanúsítványt az API-kódból. Az Azure API Managementet bármely API-szolgáltatás előtti rétegként használhatja az ügyféltanúsítvány-tulajdonságok kívánt értékeken való ellenőrzéséhez.
Tanúsítványok megújítása
Javasoljuk, hogy állítson be emlékeztető figyelmeztetéseket a tanúsítvány lejáratára. Létre kell hoznia egy új tanúsítványt, és meg kell ismételnie a fenti lépéseket, ha a használt tanúsítványok hamarosan lejárnak. Az új tanúsítvány használatának "gördítéséhez" az API-szolgáltatás az új tanúsítvány üzembe helyezése során ideiglenesen továbbra is elfogadhatja a régi és az új tanúsítványokat.
Ha új tanúsítványt szeretne feltölteni egy meglévő API-összekötőbe, válassza ki az API-összekötőt az API-összekötők alatt, majd kattintson az Új tanúsítvány feltöltése elemre. A legutóbb feltöltött tanúsítványt, amely még nem járt le, és amelynek kezdő dátuma lejárt, a Azure AD B2C automatikusan használni fogja.
Ügyféltanúsítvány-házirendkulcs hozzáadása
- Jelentkezzen be a Azure portalra.
- Ha több bérlőhöz is hozzáférése van, a felső menüben a Beállítások ikont választva váltson az Azure AD B2C-bérlőre a Címtárak + előfizetések menüből.
- Válassza az Összes szolgáltatást az Azure Portal bal felső sarkában, majd keresse meg és válassza az Azure AD B2C-t.
- Az Áttekintés lapon válassza a Identity Experience Framework-et.
- Válassza a Házirendkulcsok lehetőséget, majd válassza a Hozzáadás lehetőséget.
- A Beállítások mezőben válassza a Feltöltés lehetőséget.
- A Név mezőbe írja be a következőt: RestApiClientCertificate. A B2C_1A_ előtag automatikusan hozzáadódik.
- A Fájlfeltöltés mezőben válassza ki a tanúsítvány .pfx fájlját egy titkos kulccsal.
- A Jelszó mezőbe írja be a tanúsítvány jelszavát.
- Válassza a Create gombot.
A REST API technikai profil konfigurálása ügyféltanúsítvány-hitelesítés használatára
A szükséges kulcs létrehozása után konfigurálja a REST API technikai profil metaadatait az ügyféltanúsítványra való hivatkozáshoz.
- A munkakönyvtárban nyissa meg a kiterjesztés házirend fájlt (TrustFrameworkExtensions.xml).
- Keresse meg a REST API technikai profilt. Például
REST-ValidateProfile, vagyREST-GetProfile. - Keresse meg a
<Metadata>elemet. - Módosítsa az AuthenticationType értéket
ClientCertificate. - Módosítsa az AllowInsecureAuthInProduction értéket .
false - Közvetlenül a záró
</Metadata>elem után adja hozzá a következő XML-kódrészletet:<CryptographicKeys> <Key Id="ClientCertificate" StorageReferenceId="B2C_1A_RestApiClientCertificate" /> </CryptographicKeys>
Az alábbi XML-kódrészlet egy HTTP-ügyféltanúsítvánnyal konfigurált RESTful technikai profilt mutat be:
<ClaimsProvider>
<DisplayName>REST APIs</DisplayName>
<TechnicalProfiles>
<TechnicalProfile Id="REST-GetProfile">
<DisplayName>Get user extended profile Azure Function web hook</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="ServiceUrl">https://your-account.azurewebsites.net/api/GetProfile?code=your-code</Item>
<Item Key="SendClaimsIn">Body</Item>
<Item Key="AuthenticationType">ClientCertificate</Item>
<Item Key="AllowInsecureAuthInProduction">false</Item>
</Metadata>
<CryptographicKeys>
<Key Id="ClientCertificate" StorageReferenceId="B2C_1A_RestApiClientCertificate" />
</CryptographicKeys>
...
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
OAuth2 tulajdonosi hitelesítés
A tulajdonosi jogkivonat hitelesítését az OAuth2.0 engedélyezési keretrendszer: Tulajdonosi jogkivonat használata (RFC 6750) határozza meg. A tulajdonosi jogkivonat-hitelesítés során a Azure AD B2C HTTP-kérést küld egy jogkivonattal az engedélyezési fejlécben.
Authorization: Bearer <token>
A tulajdonosi token egy átlátszatlan karakterlánc. Ez lehet egy JWT hozzáférési jogkivonat vagy bármilyen sztring, amelyet a REST API elvár, hogy Azure AD B2C küldjön az engedélyezési fejlécben. Azure AD B2C a következő típusokat támogatja:
- Tulajdonosi jogkivonat. Ahhoz, hogy elküldhesse a tulajdonosi jogkivonatot a RESTful technikai profilban, a szabályzatnak először be kell szereznie a tulajdonosi jogkivonatot, majd a RESTful technikai profilban kell használnia.
- Statikus tulajdonosi jogkivonat. Ezt a megközelítést akkor használja, ha a REST API hosszú távú hozzáférési jogkivonatot ad ki. Statikus tulajdonosi jogkivonat használatához hozzon létre egy szabályzatkulcsot, és hivatkozzon a RESTful technikai profilból a szabályzatkulcsra.
Az OAuth2 Bearer használata
Az alábbi lépések bemutatják, hogyan szerezhet be tulajdonosi jogkivonatot az ügyfél hitelesítő adataival, és hogyan adhatja át azt a REST API-hívások engedélyezési fejlécébe.
Jogcím definiálása a hozzáférési token tárolására
A "claim" ideiglenes adattárolást biztosít az Azure AD B2C-szabályzat végrehajtása során. A jogcímséma az a hely, ahol a jogcímeket deklarálja. A hozzáférési jogkivonatot egy jogcímben kell tárolni a későbbi használathoz.
- Nyissa meg a szabályzat bővítményfájlját. Például:
SocialAndLocalAccounts/TrustFrameworkExtensions.xml. - Keresse meg a BuildingBlocks elemet. Ha az elem nem létezik, adja hozzá.
- Keresse meg a ClaimsSchema elemet. Ha az elem nem létezik, adja hozzá.
- Adja hozzá a következő jogcímeket a ClaimsSchema elemhez.
<ClaimType Id="bearerToken">
<DisplayName>Bearer token</DisplayName>
<DataType>string</DataType>
</ClaimType>
<ClaimType Id="grant_type">
<DisplayName>Grant type</DisplayName>
<DataType>string</DataType>
</ClaimType>
<ClaimType Id="scope">
<DisplayName>scope</DisplayName>
<DataType>string</DataType>
</ClaimType>
Hozzáférési jogkivonat beszerzése
A hozzáférési jogkivonatot többféleképpen is beszerezheti, egy összevont identitásszolgáltatótól, egy hozzáférési jogkivonatot visszaadó REST API hívásával, egy ROPC-folyamat használatával vagy az ügyfél hitelesítő adatainak folyamatával. Az ügyfél hitelesítő adatainak folyamatát általában olyan kiszolgálók közötti interakciókhoz használják, amelyeknek a háttérben kell futniuk, a felhasználóval való azonnali interakció nélkül.
Figyelmeztetés
A Microsoft azt javasolja, hogy ne használja a ROPC-folyamatot. Ez a folyamat nagyon nagyfokú bizalmat igényel az alkalmazásban, és olyan kockázatokat hordoz magában, amelyek más folyamatokban nincsenek jelen. Ezt a folyamatot csak akkor érdemes használni, ha más biztonságosabb folyamatok nem életképesek.
Microsoft Entra hozzáférési jogkivonat beszerzése
Az alábbi példa egy REST API technikai profilt használ, hogy kérést küldjön a Microsoft Entra tokenvégpontja felé a kliens hitelesítő adatokat alapszintű HTTP-hitelesítésként átadva. További információ: Microsoft Identitásplatform és az OAuth 2.0 ügyfél hitelesítő adatainak folyamata.
Ahhoz, hogy a technikai profil kommunikálhasson a Microsoft Entra ID-val a hozzáférési jogkivonat beszerzéséhez, regisztrálnia kell egy alkalmazást. Azure AD B2C a Microsoft Entra platformra támaszkodik. Az alkalmazást létrehozhatja a Azure AD B2C bérlőben vagy bármely Ön által felügyelt Microsoft Entra-bérlőben. Alkalmazás regisztrálása:
- Jelentkezzen be a Azure portalra.
- Ha több bérlőhöz is hozzáférése van, a felső menüben a Beállítások ikont választva váltson az Azure AD B2C-bérlőre a Címtárak + előfizetések menüből.
- A bal oldali menüben válassza a Microsoft Entra ID lehetőséget. Vagy válassza a Minden szolgáltatás lehetőséget, és keresse meg és válassza ki a Microsoft Entra azonosítót.
- Válassza Alkalmazásregisztrációklehetőséget, majd válassza Új regisztrációslehetőséget.
- Adja meg az alkalmazás nevét. Például Client_Credentials_Auth_app.
- A támogatott fióktípusokalatt válassza a csak a jelen szervezeti könyvtárban található fiókokat.
- Válassza a Regisztrálás lehetőséget.
- Jegyezze fel az alkalmazás (ügyfél) azonosítóját.
Az ügyfél hitelesítő adatainak folyamatához létre kell hoznia egy titkos alkalmazáskulcsot. Az ügyfél titkos kulcsát alkalmazásjelszónak is nevezik. Az alkalmazás a titkos kódot használja a hozzáférési jogkivonat beszerzéséhez.
- A Microsoft Entra azonosító – Alkalmazásregisztrációk lapon válassza ki a létrehozott alkalmazást, például Client_Credentials_Auth_app.
- A bal oldali menü Kezelés területén válassza a Tanúsítványok > titkos kódok lehetőséget.
- Válassza az Új titkos ügyfélkód lehetőséget.
- Adja meg az ügyfél titkos kódjának leírását a Leírás mezőben. Például : clientsecret1.
- A Lejáratok csoportban válassza ki azt az időtartamot, amelyre érvényes a titkos kód, majd válassza a Hozzáadás lehetőséget.
- Jegyezze fel a titkos kód értékét az ügyfélalkalmazás kódjában való használatra. Ez a titkos érték soha többé nem jelenik meg a lap elhagyása után. Ezt az értéket használja alkalmazáskulcsként az alkalmazás kódjában.
Azure AD B2C szabályzatkulcsok létrehozása
Tárolnia kell az ügyfél-azonosítót és az ügyfél titkos kulcs értékét, amelyet korábban rögzített az Azure AD B2C bérlőjében.
- Jelentkezzen be a Azure portalra.
- Ha több bérlőhöz is hozzáférése van, a felső menüben a Beállítások ikont választva váltson az Azure AD B2C-bérlőre a Címtárak + előfizetések menüből.
- Válassza az Összes szolgáltatást az Azure Portal bal felső sarkában, majd keresse meg és válassza az Azure AD B2C-t.
- Az Áttekintés lapon válassza a Identity Experience Framework-et.
- Válassza a Házirendkulcsok lehetőséget, majd válassza a Hozzáadás lehetőséget.
- A Beállítások beállításnál válassza a
Manuallehetőséget. - Adja meg a házirendkulcs nevét, .
SecureRESTClientIdA rendszer automatikusan hozzáadja az előtagotB2C_1A_a kulcs nevéhez. - A Titkos kód mezőben adja meg a korábban rögzített ügyfél-azonosítóját.
-
Kulcshasználat esetén válassza a
Signaturelehetőséget. - Válassza a Create gombot.
- Hozzon létre egy másik házirendkulcsot a következő beállításokkal:
-
Név:
SecureRESTClientSecret. - Titkos: adja meg a korábban rögzített titkos ügyfélkódot
-
Név:
A ServiceUrl mezőben cserélje le a your-tenant-name kifejezést a Microsoft Entra-bérlő nevére. Az összes elérhető opciót lásd a RESTful technikai profilreferenciájában .
<TechnicalProfile Id="REST-AcquireAccessToken">
<DisplayName></DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="ServiceUrl">https://login.microsoftonline.com/your-tenant-name.onmicrosoft.com/oauth2/v2.0/token</Item>
<Item Key="AuthenticationType">Basic</Item>
<Item Key="SendClaimsIn">Form</Item>
</Metadata>
<CryptographicKeys>
<Key Id="BasicAuthenticationUsername" StorageReferenceId="B2C_1A_SecureRESTClientId" />
<Key Id="BasicAuthenticationPassword" StorageReferenceId="B2C_1A_SecureRESTClientSecret" />
</CryptographicKeys>
<InputClaims>
<InputClaim ClaimTypeReferenceId="grant_type" DefaultValue="client_credentials" AlwaysUseDefaultValue="true" />
<InputClaim ClaimTypeReferenceId="scope" DefaultValue="https://graph.microsoft.com/.default" AlwaysUseDefaultValue="true" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="bearerToken" PartnerClaimType="access_token" />
</OutputClaims>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
</TechnicalProfile>
Megjegyzés:
Ha más technikai profilokban használja a grant_type vagy scope jogcímeket, javasoljuk, hogy azok is megadják DefaultValue és használják AlwaysUseDefaultValue="true" , hogy elkerüljék a helytelen értékkel való kötés esetleges ütközéseit.
A REST technikai profil módosítása tulajdonosi jogkivonat-hitelesítés használatára
A tulajdonosi jogkivonat-hitelesítés egyéni szabályzatban való támogatásához módosítsa a REST API technikai profilt az alábbi lépésekkel:
A munkakönyvtárban nyissa meg a TrustFrameworkExtensions.xml bővítmény házirendfájlját.
Keresse meg a
<TechnicalProfile>csomópontot, amely tartalmazza aId="REST-API-SignUp".Keresse meg a
<Metadata>elemet.Az AuthenticationType-t módosítsa Bearer-re az alábbiak szerint:
<Item Key="AuthenticationType">Bearer</Item>Módosítsa vagy adja hozzá a UseClaimAsBearerToken értéket a bearerToken értékhez az alábbiak szerint. A bearerToken annak az igénynek a neve, amelyből a hordozó tokent lekéri (a kimeneti igény
REST-AcquireAccessTokenszerint).<Item Key="UseClaimAsBearerToken">bearerToken</Item>Adja hozzá az előző lépésből származó jogcímet bemeneti jogcímként:
<InputClaim ClaimTypeReferenceId="bearerToken"/>
A szabályzat frissítése után a technikai profilnak az alábbi XML-kódhoz hasonlóan kell kinéznie:
<ClaimsProvider>
<DisplayName>REST APIs</DisplayName>
<TechnicalProfiles>
<TechnicalProfile Id="REST-GetProfile">
<DisplayName>Get user extended profile Azure Function web hook</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="ServiceUrl">https://your-account.azurewebsites.net/api/GetProfile?code=your-code</Item>
<Item Key="SendClaimsIn">Body</Item>
<Item Key="AuthenticationType">Bearer</Item>
<Item Key="UseClaimAsBearerToken">bearerToken</Item>
<Item Key="AllowInsecureAuthInProduction">false</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="bearerToken"/>
</InputClaims>
...
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
Hívja meg a REST technikai profilt
A REST-GetProfile technikai profil meghívásához először a REST-AcquireAccessToken technikai profil használatával kell megszereznie egy Microsoft Entra hozzáférési tokent. Az alábbi példa bemutatja, hogyan hívhatja meg a technikai profilt REST-GetProfile egy érvényesítési technikai profilból:
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="REST-AcquireAccessToken" />
<ValidationTechnicalProfile ReferenceId="REST-GetProfile" />
</ValidationTechnicalProfiles>
Az alábbi példa bemutatja, hogyan hívhatja meg a REST-GetProfile technikai profilt egy felhasználói útról vagy egy alútvonalról:
<OrchestrationSteps>
<OrchestrationStep Order="2" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="REST-AcquireAccessTokens" TechnicalProfileReferenceId="REST-AcquireAccessToken" />
</ClaimsExchanges>
</OrchestrationStep>
<OrchestrationStep Order="3" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="REST-GetProfile" TechnicalProfileReferenceId="REST-GetProfile" />
</ClaimsExchanges>
</OrchestrationStep>
</OrchestrationSteps>
Statikus OAuth2-hordozó használata
Az OAuth2 tulajdonosi jogkivonat szabályzatkulcsának hozzáadása
Ha REST API technikai profilt szeretne OAuth2 tulajdonosi jogkivonattal konfigurálni, szerezzen be egy hozzáférési jogkivonatot a REST API tulajdonosától. Ezután hozza létre a következő titkosítási kulcsot a tulajdonosi jogkivonat tárolásához.
- Jelentkezzen be a Azure portalra.
- Ha több bérlőhöz is hozzáférése van, a felső menüben a Beállítások ikont választva váltson az Azure AD B2C-bérlőre a Címtárak + előfizetések menüből.
- Válassza az Összes szolgáltatást az Azure Portal bal felső sarkában, majd keresse meg és válassza az Azure AD B2C-t.
- Az Áttekintés lapon válassza a Identity Experience Framework-et.
- Válassza a Házirendkulcsok lehetőséget, majd válassza a Hozzáadás lehetőséget.
- A Beállítások beállításnál válassza a
Manuallehetőséget. - Adjon meg egy nevet a házirendkulcshoz. Például:
RestApiBearerToken. A rendszer automatikusan hozzáadja az előtagotB2C_1A_a kulcs nevéhez. - A Titkos kód mezőbe írja be a korábban rögzített ügyfélkulcsot.
-
Kulcshasználat esetén válassza a
Encryptionlehetőséget. - Válassza a Create gombot.
A REST API technikai profil konfigurálása a tulajdonosi jogkivonat szabályzatkulcsának használatára
A szükséges kulcs létrehozása után konfigurálja a REST API technikai profil metaadatait a tulajdonosi jogkivonatra való hivatkozáshoz.
- A munkakönyvtárban nyissa meg a kiterjesztés házirend fájlt (TrustFrameworkExtensions.xml).
- Keresse meg a REST API technikai profilt. Például
REST-ValidateProfile, vagyREST-GetProfile. - Keresse meg a
<Metadata>elemet. - Módosítsa az AuthenticationType értéket
Bearer. - Módosítsa az AllowInsecureAuthInProduction értéket .
false - Közvetlenül a záró
</Metadata>elem után adja hozzá a következő XML-kódrészletet:<CryptographicKeys> <Key Id="BearerAuthenticationToken" StorageReferenceId="B2C_1A_RestApiBearerToken" /> </CryptographicKeys>
Az alábbi XML-kódrészlet egy példa egy tulajdonosi jogkivonat-hitelesítéssel konfigurált RESTful technikai profilra:
<ClaimsProvider>
<DisplayName>REST APIs</DisplayName>
<TechnicalProfiles>
<TechnicalProfile Id="REST-GetProfile">
<DisplayName>Get user extended profile Azure Function web hook</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="ServiceUrl">https://your-account.azurewebsites.net/api/GetProfile?code=your-code</Item>
<Item Key="SendClaimsIn">Body</Item>
<Item Key="AuthenticationType">Bearer</Item>
<Item Key="AllowInsecureAuthInProduction">false</Item>
</Metadata>
<CryptographicKeys>
<Key Id="BearerAuthenticationToken" StorageReferenceId="B2C_1A_RestApiBearerToken" />
</CryptographicKeys>
...
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
Adja hozzá az érvényesítési technikai profil hivatkozását a regisztrációs technikai profilhoz, amely a REST-AcquireAccessToken-t meghívja. Ez a viselkedés azt jelenti, hogy Azure AD B2C csak a sikeres ellenőrzés után hozza létre a fiókot a címtárban.
Például:
```XML
<ValidationTechnicalProfiles>
....
<ValidationTechnicalProfile ReferenceId="REST-AcquireAccessToken" />
....
</ValidationTechnicalProfiles>
API-kulcs hitelesítése
Egyes szolgáltatások egy "API-kulcs" mechanizmust használnak a HTTP-végpontokhoz való hozzáférés elhomályosítása érdekében a fejlesztés során azáltal, hogy a hívónak egy egyedi kulcsot kell tartalmaznia HTTP-fejlécként vagy HTTP-lekérdezési paraméterként. Az Azure Functions esetében ezt úgy teheti meg, hogy az API-összekötő végponti URL-címébencodeszerepel a lekérdezési paraméter. Például: https://contoso.azurewebsites.net/api/endpoint?code=0123456789).
Ez nem egy olyan mechanizmus, amelyet egyedül kell használni a termelésben. Ezért az alapszintű vagy tanúsítványhitelesítés konfigurálásához mindig szükség van. Ha fejlesztési célokra nem szeretne hitelesítési módszert implementálni (nem ajánlott), kiválaszthatja az "alapszintű" hitelesítést az API-összekötő konfigurációjában, és ideiglenes értékeket usernamepassword használhat, amelyeket az API figyelmen kívül hagyhat a megfelelő engedélyezés megvalósítása során.
Az API-kulcs egy egyedi azonosító, amely a felhasználó hitelesítésére szolgál egy REST API-végpont eléréséhez. A kulcsot a rendszer egy egyéni HTTP-fejlécben küldi el. A Azure Functions HTTP-eseményindító például a x-functions-key HTTP-fejlécet használja a kérelmező azonosításához.
API-kulcs házirendkulcsok hozzáadása
Ha API-kulcsos hitelesítéssel szeretne konfigurálni egy REST API technikai profilt, hozza létre a következő titkosítási kulcsot az API-kulcs tárolásához:
- Jelentkezzen be a Azure portalra.
- Ha több bérlőhöz is hozzáférése van, a felső menüben a Beállítások ikont választva váltson az Azure AD B2C-bérlőre a Címtárak + előfizetések menüből.
- Válassza az Összes szolgáltatást az Azure Portal bal felső sarkában, majd keresse meg és válassza az Azure AD B2C-t.
- Az Áttekintés lapon válassza a Identity Experience Framework-et.
- Válassza a Házirendkulcsok lehetőséget, majd válassza a Hozzáadás lehetőséget.
- A Beállítások beállításnál válassza a Manuális lehetőséget.
- A Név mezőbe írja be a következőt: RestApiKey. Előfordulhat, hogy az előtag B2C_1A_ automatikusan hozzáadódik.
- A Titkos kód mezőbe írja be a REST API kulcsot.
- Kulcshasználat esetén válassza a Titkosítás lehetőséget.
- Válassza a Create gombot.
A REST API technikai profil konfigurálása API-kulcsos hitelesítés használatára
A szükséges kulcs létrehozása után konfigurálja a REST API technikai profil metaadatait a hitelesítő adatokra való hivatkozáshoz.
- A munkakönyvtárban nyissa meg a kiterjesztés házirend fájlt (TrustFrameworkExtensions.xml).
- Keresse meg a REST API technikai profilt. Például
REST-ValidateProfile, vagyREST-GetProfile. - Keresse meg a
<Metadata>elemet. - Módosítsa az AuthenticationType értéket
ApiKeyHeader. - Módosítsa az AllowInsecureAuthInProduction értéket .
false - Közvetlenül a záró
</Metadata>elem után adja hozzá a következő XML-kódrészletet:<CryptographicKeys> <Key Id="x-functions-key" StorageReferenceId="B2C_1A_RestApiKey" /> </CryptographicKeys>
A titkosítási kulcs azonosítója határozza meg a HTTP-fejlécet. Ebben a példában az API-kulcsot x-functions-key néven küldi el a rendszer.
Az alábbi XML-kódrészlet egy példa egy RESTful technikai profilra, amely úgy van konfigurálva, hogy API-kulcsos hitelesítéssel hívjon meg egy Azure-függvényt:
<ClaimsProvider>
<DisplayName>REST APIs</DisplayName>
<TechnicalProfiles>
<TechnicalProfile Id="REST-GetProfile">
<DisplayName>Get user extended profile Azure Function web hook</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="ServiceUrl">https://your-account.azurewebsites.net/api/GetProfile?code=your-code</Item>
<Item Key="SendClaimsIn">Body</Item>
<Item Key="AuthenticationType">ApiKeyHeader</Item>
<Item Key="AllowInsecureAuthInProduction">false</Item>
</Metadata>
<CryptographicKeys>
<Key Id="x-functions-key" StorageReferenceId="B2C_1A_RestApiKey" />
</CryptographicKeys>
...
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
Kapcsolódó tartalom
- Kezdje a mintákkal.
- További információ a RESTful technikai profil elemről az egyéni szabályzat hivatkozásban.