Egyéni hitelesítési bővítmény létrehozása az attribútumgyűjtemény indításához és elküldéséhez (előzetes verzió)
A következőkre vonatkozik:Munkaerő-bérlők Külső bérlők (további információ)
Ez a cikk azt ismerteti, hogyan terjesztheti ki a felhasználói regisztrációt az ügyfelek számára Microsoft Entra Külső ID. Az ügyfél-regisztrációs felhasználói folyamatokban az eseményfigyelők az attribútumgyűjtési folyamat kiterjesztésére használhatók az attribútumgyűjtés előtt és az attribútum beküldésekor:
Az OnAttributeCollectionStart esemény az attribútumgyűjtési lépés elején, az attribútumgyűjtési oldal megjelenítése előtt következik be. Hozzáadhat olyan műveleteket, mint az értékek előzetes kitöltése és a blokkolási hiba megjelenítése.
Tipp.
A funkció kipróbálásához nyissa meg a Woodgrove Groceries bemutatóját, és indítsa el az "Előre feltölthető regisztrációs attribútumok" használati esetet.
Az OnAttributeCollectionSubmit esemény azután következik be, hogy a felhasználó beírja és elküldi az attribútumokat. Olyan műveleteket is hozzáadhat, mint például a felhasználó bejegyzéseinek ellenőrzése vagy módosítása.
Tipp.
A funkció kipróbálásához nyissa meg a Woodgrove Groceries bemutatóját, és indítsa el a "Regisztrációs attribútumok érvényesítése" használati esetet, vagy a "Felhasználó letiltása a regisztrációs folyamat folytatásában" használati esetet.
Amellett, hogy egyéni hitelesítési bővítményt hoz létre az attribútumgyűjtemény indításához és elküldéséhez, létre kell hoznia egy REST API-t, amely meghatározza az egyes eseményekhez végrehajtandó munkafolyamat-műveleteket. A REST API létrehozásához és üzemeltetéséhez bármilyen programozási nyelvet, keretrendszert és üzemeltetési környezetet használhat. Ez a cikk a C# Azure-függvény használatának első lépéseit mutatja be. Az Azure Functions használatával a kódot kiszolgáló nélküli környezetben futtathatja anélkül, hogy először létre kellene hoznia egy virtuális gépet vagy közzé kellene tennie egy webalkalmazást.
Előfeltételek
- Az Azure-szolgáltatások, köztük az Azure Functions használatához Azure-előfizetésre van szükség. Ha nem rendelkezik meglévő Azure-fiókkal, regisztrálhat egy ingyenes próbaverzióra, vagy használhatja a Visual Studio-előfizetés előnyeit egy fiók létrehozásakor.
- Regisztrációs és bejelentkezési felhasználói folyamat.
1. lépés: Egyéni hitelesítési bővítmények létrehozása REST API (Azure-függvényalkalmazás)
Tipp.
A cikkben szereplő lépések a portáltól függően kissé eltérhetnek.
Ebben a lépésben egy HTTP-eseményindító függvény API-t hoz létre az Azure Functions használatával. A függvény API a felhasználói folyamatok üzleti logikájának forrása. Az eseményindító függvény létrehozása után konfigurálhatja az alábbi események egyikéhez:
Jelentkezzen be az Azure Portalra a rendszergazdai fiókjával.
Az Azure Portal menüjében vagy a Kezdőlapon válassza az Erőforrás létrehozása elemet.
Keresse meg és válassza a függvényalkalmazást, majd válassza a Létrehozás lehetőséget.
Az Alapok lapon használja a függvényalkalmazás beállításait az alábbi táblázatban megadott módon:
Válassza a Véleményezés + létrehozás lehetőséget az alkalmazáskonfiguráció-beállítások áttekintéséhez, majd a Létrehozás gombra. Az üzembe helyezés néhány percet vesz igénybe.
Az üzembe helyezés után válassza az Erőforrás megnyitása lehetőséget az új függvényalkalmazás megtekintéséhez.
1.1 HTTP-triggerfüggvények létrehozása
Most, hogy létrehozta az Azure-függvényalkalmazást, http-triggerfüggvényeket hoz létre a HTTP-kéréssel meghívni kívánt műveletekhez. A HTTP-eseményindítókra a Microsoft Entra egyéni hitelesítési bővítmény hivatkozik és hívja meg őket.
- A függvényalkalmazás Áttekintés lapján válassza a Függvények panelt, és válassza a Függvény létrehozása lehetőséget a Létrehozás az Azure Portalon.
- A Függvény létrehozása ablakban hagyja a Fejlesztői környezet tulajdonságot Fejlesztésként a portálon. A Sablon területen válassza a HTTP-eseményindítót.
- A Sablon részletei területen adja meg a CustomAuthenticationExtensionsAPI értéket az Új függvény tulajdonsághoz.
- Az engedélyezési szinthez válassza a Függvény lehetőséget.
- Válassza a Létrehozás lehetőséget.
1.2 Az OnAttributeCollectionStart HTTP-eseményindítójának konfigurálása
- A menüben válassza a Kód + Teszt lehetőséget.
- Válassza az alábbi lapot a megvalósítandó forgatókönyvhöz: Folytatás, Letiltás vagy SetPrefillValues. Cserélje le a kódot a megadott kódrészlet(ek)re.
- A kód cseréje után a felső menüben válassza a Függvény URL-címének lekérése lehetőséget, és másolja ki az URL-címet. Ezt az URL-címet a 2. lépésben használja: Egyéni hitelesítési bővítmény létrehozása és regisztrálása a cél URL-címhez.
Ezzel a HTTP-eseményindítóval engedélyezheti a felhasználónak, hogy folytassa a regisztrációs folyamatot, ha nincs szükség további műveletre.
#r "Newtonsoft.Json"
using System.Net;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using Newtonsoft.Json;
using System.Text;
public static async Task<object> Run(HttpRequest req, ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
dynamic request = JsonConvert.DeserializeObject(requestBody);
var actions = new List<ContinueWithDefaultBehavior>{
new ContinueWithDefaultBehavior { type = "microsoft.graph.attributeCollectionStart.continueWithDefaultBehavior"}
};
var dataObject = new Data {
type = "microsoft.graph.onAttributeCollectionStartResponseData",
actions= actions
};
dynamic response = new ResponseObject {
data = dataObject
};
// Send the response
return response;
}
public class ResponseObject
{
public Data data { get; set; }
}
[JsonObject]
public class Data {
[JsonProperty("@odata.type")]
public string type { get; set; }
public List<ContinueWithDefaultBehavior> actions { get; set; }
}
[JsonObject]
public class ContinueWithDefaultBehavior {
[JsonProperty("@odata.type")]
public string type { get; set; }
}
1.3 Az OnAttributeCollectionSubmit HTTP-eseményindítójának konfigurálása
- A menüben válassza a Kód + Teszt lehetőséget.
- Válassza az alábbi lapot a megvalósítandó forgatókönyvhöz: Folytatás, Letiltás, Értékek módosítása vagy Érvényesítési hiba. Cserélje le a kódot a megadott kódrészlet(ek)re.
- A kód cseréje után a felső menüben válassza a Függvény URL-címének lekérése lehetőséget, és másolja ki az URL-címet. Ezt az URL-címet a 2. lépésben használja: Egyéni hitelesítési bővítmény létrehozása és regisztrálása a cél URL-címhez.
Ezzel a HTTP-eseményindítóval engedélyezheti a felhasználónak, hogy folytassa a regisztrációs folyamatot, ha nincs szükség további műveletre.
#r "Newtonsoft.Json"
using System.Net;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using Newtonsoft.Json;
using System.Text;
public static async Task<object> Run(HttpRequest req, ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
dynamic request = JsonConvert.DeserializeObject(requestBody);
var actions = new List<ContinueWithDefaultBehavior>{
new ContinueWithDefaultBehavior { type = "microsoft.graph.attributeCollectionSubmit.continueWithDefaultBehavior"}
};
var dataObject = new Data {
type = "microsoft.graph.onAttributeCollectionSubmitResponseData",
actions= actions
};
dynamic response = new ResponseObject {
data = dataObject
};
// Send the response
return response;
}
public class ResponseObject
{
public Data data { get; set; }
}
[JsonObject]
public class Data {
[JsonProperty("@odata.type")]
public string type { get; set; }
public List<ContinueWithDefaultBehavior> actions { get; set; }
}
[JsonObject]
public class ContinueWithDefaultBehavior {
[JsonProperty("@odata.type")]
public string type { get; set; }
}
2. lépés: Egyéni hitelesítési bővítmény létrehozása és regisztrálása
Ebben a lépésben regisztrál egy egyéni hitelesítési bővítményt, amelyet a Microsoft Entra ID használ az Azure-függvény meghívásához. Az egyéni hitelesítési bővítmény információkat tartalmaz a REST API-végpontról, az attribútumgyűjtemény indításáról és elküldéséről, amelyeket a REST API-ból elemez, valamint a REST API-val való hitelesítés módját.
Jelentkezzen be a Microsoft Entra felügyeleti központba legalább egy alkalmazás-Rendszergazda istrator és -hitelesítés Rendszergazda istratorként.
Keresse meg az Identity>External Identityes>Egyéni hitelesítési bővítményeket.
Válassza az Egyéni bővítmény létrehozása lehetőséget.
Az Alapszintű beállítások területen válassza az AttributeCollectionStart eseményt vagy az AttributeCollectionSubmit eseményt, majd válassza a Tovább lehetőséget. Győződjön meg arról, hogy ez megfelel az előző lépésben megadott konfigurációnak.
A Végpontkonfigurációban töltse ki a következő tulajdonságokat:
- Név – Az egyéni hitelesítési bővítmény neve. Például attribútumgyűjtési eseményen.
- Cél URL-címe – Az
{Function_Url}
Azure-függvény URL-címe. - Leírás – Az egyéni hitelesítési bővítmények leírása.
Válassza a Tovább lehetőséget.
Az API-hitelesítésben válassza az Új alkalmazásregisztráció létrehozása lehetőséget a függvényalkalmazást képviselő alkalmazásregisztráció létrehozásához.
Adjon nevet az alkalmazásnak, például az Azure Functions hitelesítési események API-jának.
Válassza a Tovább lehetőséget.
Válassza a Létrehozás lehetőséget, amely létrehozza az egyéni hitelesítési bővítményt és a hozzá tartozó alkalmazásregisztrációt.
2.2 Rendszergazdai hozzájárulás megadása
Az egyéni hitelesítési bővítmény létrehozása után adjon engedélyt az alkalmazásnak a regisztrált alkalmazáshoz, amely lehetővé teszi az egyéni hitelesítési bővítmény hitelesítését az API-nak.
- Keresse meg az Identity>External Identityes>Egyéni hitelesítési bővítményeket (előzetes verzió).
- Válassza ki az egyéni hitelesítési bővítményt a listából.
- Az Áttekintés lapon válassza az Engedély megadása gombot a rendszergazdai hozzájárulás megadásához a regisztrált alkalmazáshoz. Az egyéni hitelesítési bővítmény az azure-függvényalkalmazásban való hitelesítéshez használja
client_credentials
azReceive custom authentication extension HTTP requests
engedélyt. Válassza az Elfogadás lehetőséget.
3. lépés: Az egyéni hitelesítési bővítmény hozzáadása egy felhasználói folyamathoz
Most már társíthatja az egyéni hitelesítési bővítményt egy vagy több felhasználói folyamattal.
Feljegyzés
Ha felhasználói folyamatot kell létrehoznia, kövesse a Regisztrációs és bejelentkezési felhasználói folyamat létrehozása az ügyfelek számára című témakörben leírt lépéseket.
3.1 Az egyéni hitelesítési bővítmény hozzáadása egy meglévő felhasználói folyamathoz
Jelentkezzen be a Microsoft Entra felügyeleti központba legalább egy alkalmazás-Rendszergazda istrator és -hitelesítés Rendszergazda istratorként
Ha több bérlőhöz is hozzáfér, a felső menüben található Gépház ikonnal válthat a külső bérlőre.
Tallózással keresse meg az Identitás>külső identitásai>felhasználói folyamatokat.
Válassza ki a felhasználói folyamatot a listából.
Válassza ki az egyéni hitelesítési bővítményeket.
Az Egyéni hitelesítési bővítmények lapon az egyéni hitelesítési bővítményt a felhasználói folyamat két különböző lépésével társíthatja:
- Mielőtt adatokat gyűjt a felhasználótól , az OnAttributeCollectionStart eseményhez van társítva. Jelölje ki a ceruza szerkesztését. Csak az OnAttributeCollectionStart eseményhez konfigurált egyéni bővítmények jelennek meg. Válassza ki az attribútumgyűjtemény indítási eseményéhez konfigurált alkalmazást, majd válassza a Kiválasztás lehetőséget.
- Amikor egy felhasználó elküldi az adatait , az OnAttributeCollectionSubmit eseményhez van társítva. Csak az OnAttributeCollectionSubmit eseményhez konfigurált egyéni bővítmények jelennek meg. Válassza ki az attribútumgyűjtemény küldési eseményéhez konfigurált alkalmazást, majd válassza a Kiválasztás lehetőséget.
Győződjön meg arról, hogy a két attribútumgyűjtési lépés mellett felsorolt alkalmazások helyesek.
Válassza a Mentés ikont.
4. lépés: Az alkalmazás tesztelése
Jogkivonat beszerzéséhez és az egyéni hitelesítési bővítmény teszteléséhez használhatja az https://jwt.ms alkalmazást. Ez egy Microsoft-tulajdonban lévő webalkalmazás, amely megjeleníti egy jogkivonat dekódolt tartalmát (a jogkivonat tartalma soha nem hagyja el a böngészőt).
Kövesse az alábbi lépéseket a jwt.ms webalkalmazás regisztrálásához:
4.1 A jwt.ms webalkalmazás regisztrálása
- Jelentkezzen be a Microsoft Entra felügyeleti központba legalább egy Alkalmazás Rendszergazda istratorként.
- Keresse meg az Identitásalkalmazások>>alkalmazásregisztrációit.
- Új regisztráció kiválasztása.
- Adja meg az alkalmazás nevét. Például: Saját tesztalkalmazás.
- A Támogatott fióktípusok csoportban válassza a Csak ebben a szervezeti címtárban lévő Fiókok lehetőséget.
- Az Átirányítási URI Platform kiválasztása legördülő listájában válassza a Web lehetőséget, majd írja be
https://jwt.ms
az URL-szövegmezőt. - Az alkalmazásregisztráció befejezéséhez válassza a Regisztráció lehetőséget.
4.2 Az alkalmazásazonosító lekérése
Az alkalmazásregisztráció Áttekintés területén másolja ki az alkalmazás (ügyfél) azonosítóját. Az alkalmazásazonosítót a későbbi lépésekben nevezik.<client_id>
A Microsoft Graphban az appId tulajdonság hivatkozik rá.
4.3 Implicit folyamat engedélyezése
A jwt.ms tesztalkalmazás az implicit folyamatot használja. Implicit folyamat engedélyezése a My Test alkalmazásregisztrációban :
- A Kezelés területen válassza a Hitelesítés lehetőséget.
- Az Implicit engedélyezési és hibrid folyamatok területen jelölje be az (implicit és hibrid folyamatokhoz használt) azonosító jogkivonatokat.
- Válassza a Mentés lehetőséget.
5. lépés: Az Azure-függvény védelme
A Microsoft Entra egyéni hitelesítési bővítmény kiszolgálói folyamattal szerzi be a HTTP-fejlécben Authorization
az Azure-függvénynek küldött hozzáférési jogkivonatot. Amikor közzéteszi a függvényt az Azure-ban, különösen éles környezetben, ellenőriznie kell az engedélyezési fejlécben küldött jogkivonatot.
Az Azure-függvény védelme érdekében kövesse az alábbi lépéseket a Microsoft Entra-hitelesítés integrálásához a bejövő jogkivonatok Azure Functions-hitelesítési események API-alkalmazásregisztrációjával való érvényesítéséhez.
Feljegyzés
Ha az Azure-függvényalkalmazás egy másik Azure-bérlőben van üzemeltetve, mint az a bérlő, amelyben az egyéni hitelesítési bővítmény regisztrálva van, ugorjon az 5.1-hez az OpenID Csatlakozás identitásszolgáltatói lépés használatával.
5.1 Identitásszolgáltató hozzáadása az Azure-függvényhez
Jelentkezzen be az Azure Portalra.
Navigáljon, és válassza ki a korábban közzétett függvényalkalmazást.
Válassza a hitelesítés lehetőséget a bal oldali menüben.
Válassza az Identitásszolgáltató hozzáadása lehetőséget.
Válassza ki a Microsoftot identitásszolgáltatóként.
Bérlőtípusként válassza az Ügyfél lehetőséget.
Az alkalmazásregisztráció alatt adja meg az
client_id
egyéni jogcímszolgáltató regisztrálásakor korábban létrehozott Azure Functions-hitelesítési események API-alkalmazásregisztrációját.A kiállító URL-címéhez adja meg a következő URL-címet
https://{domainName}.ciamlogin.com/{tenant_id}/v2.0
, ahol{domainName}
A külső bérlő tartományneve.{tenantId}
A külső bérlő bérlőazonosítója. Az egyéni hitelesítési bővítményt itt kell regisztrálni.
A Nem hitelesített kérések területen válassza a HTTP 401 Jogosulatlanul lehetőséget identitásszolgáltatóként.
Törölje a tokentároló beállítás kijelölését.
Válassza a Hozzáadás lehetőséget, ha hitelesítést szeretne hozzáadni az Azure-függvényhez.
5.2 Az OpenID Csatlakozás identitásszolgáltató használata
Ha az 5. lépést konfigurálta : Az Azure-függvény védelme, hagyja ki ezt a lépést. Ellenkező esetben, ha az Azure-függvény egy másik bérlő alatt van üzemeltetve, mint az a bérlő, amelyben az egyéni hitelesítési bővítmény regisztrálva van, kövesse az alábbi lépéseket a függvény védelméhez:
Jelentkezzen be az Azure Portalra, majd navigáljon, és válassza ki a korábban közzétett függvényalkalmazást.
Válassza a hitelesítés lehetőséget a bal oldali menüben.
Válassza az Identitásszolgáltató hozzáadása lehetőséget.
Identitásszolgáltatóként válassza az OpenID Csatlakozás lehetőséget.
Adjon meg egy nevet, például a Contoso Microsoft Entra-azonosítót.
A Metaadatok bejegyzés alatt adja meg a következő URL-címet a dokumentum URL-címéhez. Cserélje le a
{tenantId}
Microsoft Entra-bérlő azonosítóját.https://login.microsoftonline.com/{tenantId}/v2.0/.well-known/openid-configuration
Az alkalmazásregisztráció alatt adja meg a korábban létrehozott Azure Functions-hitelesítési események API-alkalmazásregisztrációjának alkalmazásazonosítóját (ügyfélazonosítóját).
A Microsoft Entra Felügyeleti központban:
- Válassza ki a korábban létrehozott Azure Functions-hitelesítési események API-alkalmazásregisztrációját.
- Válassza a Tanúsítványok > titkos>ügyfélkulcsok új ügyféltitkot>.
- Adja meg titkos ügyfélkódja leírását.
- Válasszon lejáratot a titkos kódhoz, vagy adjon meg egy egyéni élettartamot.
- 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.
Térjen vissza az Azure-függvényhez az alkalmazásregisztráció alatt, és adja meg az ügyfél titkos kódját.
Törölje a tokentároló beállítás kijelölését.
Válassza a Hozzáadás lehetőséget az OpenID Csatlakozás identitásszolgáltató hozzáadásához.
6. lépés: Az alkalmazás tesztelése
Az egyéni hitelesítési bővítmény teszteléséhez kövesse az alábbi lépéseket:
Nyisson meg egy új privát böngészőt, és lépjen a következő URL-címre:
https://<domainName>.ciamlogin.com/<tenant_id>/oauth2/v2.0/authorize?client_id=<client_id>&response_type=code+id_token&redirect_uri=https://jwt.ms&scope=openid&state=12345&nonce=12345
- Cserélje le
<domainName>
a külső bérlő nevét, és cserélje le<tenant-id>
a külső bérlőazonosítóra. - Cserélje le
<client_id>
a felhasználói folyamathoz hozzáadott alkalmazás azonosítóját.
- Cserélje le
A bejelentkezés után a dekódolt jogkivonat a következő helyen
https://jwt.ms
jelenik meg: .