Megosztás a következőn keresztül:


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:Fehér kör szürke X szimbólummal.Munkaerő-bérlők Zöld kör fehér pipa jellel. 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.

    Kipróbálás

    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.

    Kipróbálás

    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

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:

  1. Jelentkezzen be az Azure Portalra a rendszergazdai fiókjával.

  2. Az Azure Portal menüjében vagy a Kezdőlapon válassza az Erőforrás létrehozása elemet.

  3. Keresse meg és válassza a függvényalkalmazást, majd válassza a Létrehozás lehetőséget.

  4. Az Alapok lapon használja a függvényalkalmazás beállításait az alábbi táblázatban megadott módon:

    Beállítás Ajánlott érték Leírás
    Előfizetés Az Ön előfizetése Az előfizetés, amelyben az új függvényalkalmazás létrejön.
    Erőforráscsoport myResourceGroup Válassza ki és adja meg a meglévő erőforráscsoportot vagy annak az újnak a nevét, amelyben létre fogja hozni a függvényalkalmazást.
    Függvényalkalmazás neve Globálisan egyedi név Az új függvényalkalmazást azonosító név. Az érvényes karakterek az a-z (kis- és nagybetűk megkülönböztetése nélkül) 0-9és az -.
    Közzététel Kód Kódfájlok közzétételét teszi lehetővé egy Docker-tárolóban. Ebben az oktatóanyagban válassza a Kód lehetőséget.
    Futtatókörnyezeti verem .NET Az Ön által előnyben részesített programozási nyelv. Ebben az oktatóanyagban válassza a .NET lehetőséget.
    Verzió 6 (LTS) Folyamatban A .NET-futtatókörnyezet verziója. A folyamatban lévő funkció azt jelzi, hogy a portálon létrehozhat és módosíthat függvényeket, ami az útmutatóhoz ajánlott
    Régió Előnyben részesített régió Válasszon ki egy önhöz közeli régiót vagy a függvényei által elérhető egyéb szolgáltatásokat.
    Operációs rendszer Windows Az operációs rendszer előre ki van jelölve a futtatókörnyezeti verem kiválasztása alapján.
    Terv típusa Felhasználás (kiszolgáló nélküli) Szolgáltatási csomag, amely meghatározza az erőforrások lefoglalását a függvényalkalmazáshoz.
  5. 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.

  6. 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.

  1. 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.
  2. 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.
  3. A Sablon részletei területen adja meg a CustomAuthenticationExtensionsAPI értéket az Új függvény tulajdonsághoz.
  4. Az engedélyezési szinthez válassza a Függvény lehetőséget.
  5. Válassza a Létrehozás lehetőséget.

1.2 Az OnAttributeCollectionStart HTTP-eseményindítójának konfigurálása

  1. A menüben válassza a Kód + Teszt lehetőséget.
  2. 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.
  3. 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

  1. A menüben válassza a Kód + Teszt lehetőséget.
  2. 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.
  3. 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.

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább egy alkalmazás-Rendszergazda istrator és -hitelesítés Rendszergazda istratorként.

  2. Keresse meg az Identity>External Identityes>Egyéni hitelesítési bővítményeket.

  3. Válassza az Egyéni bővítmény létrehozása lehetőséget.

  4. 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.

  5. 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.
  6. Válassza a Tovább lehetőséget.

  7. 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.

  8. Adjon nevet az alkalmazásnak, például az Azure Functions hitelesítési események API-jának.

  9. Válassza a Tovább lehetőséget.

  10. 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.

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.

  1. Keresse meg az Identity>External Identityes>Egyéni hitelesítési bővítményeket (előzetes verzió).
  2. Válassza ki az egyéni hitelesítési bővítményt a listából.
  3. 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 az Receive 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

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább egy alkalmazás-Rendszergazda istrator és -hitelesítés Rendszergazda istratorként

  2. 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.

  3. Tallózással keresse meg az Identitás>külső identitásai>felhasználói folyamatokat.

  4. Válassza ki a felhasználói folyamatot a listából.

  5. Válassza ki az egyéni hitelesítési bővítményeket.

  6. 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.
  7. Győződjön meg arról, hogy a két attribútumgyűjtési lépés mellett felsorolt alkalmazások helyesek.

  8. 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

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább egy Alkalmazás Rendszergazda istratorként.
  2. Keresse meg az Identitásalkalmazások>>alkalmazásregisztrációit.
  3. Új regisztráció kiválasztása.
  4. Adja meg az alkalmazás nevét. Például: Saját tesztalkalmazás.
  5. A Támogatott fióktípusok csoportban válassza a Csak ebben a szervezeti címtárban lévő Fiókok lehetőséget.
  6. 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.
  7. 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 :

  1. A Kezelés területen válassza a Hitelesítés lehetőséget.
  2. Az Implicit engedélyezési és hibrid folyamatok területen jelölje be az (implicit és hibrid folyamatokhoz használt) azonosító jogkivonatokat.
  3. 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

  1. Jelentkezzen be az Azure Portalra.

  2. Navigáljon, és válassza ki a korábban közzétett függvényalkalmazást.

  3. Válassza a hitelesítés lehetőséget a bal oldali menüben.

  4. Válassza az Identitásszolgáltató hozzáadása lehetőséget.

  5. Válassza ki a Microsoftot identitásszolgáltatóként.

  6. Bérlőtípusként válassza az Ügyfél lehetőséget.

  7. Az alkalmazásregisztráció alatt adja meg az client_idegyéni jogcímszolgáltató regisztrálásakor korábban létrehozott Azure Functions-hitelesítési események API-alkalmazásregisztrációját.

  8. A kiállító URL-címéhez adja meg a következő URL-címethttps://{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.
  9. A Nem hitelesített kérések területen válassza a HTTP 401 Jogosulatlanul lehetőséget identitásszolgáltatóként.

  10. Törölje a tokentároló beállítás kijelölését.

  11. Válassza a Hozzáadás lehetőséget, ha hitelesítést szeretne hozzáadni az Azure-függvényhez.

    Képernyőkép arról, hogyan adhat hozzá hitelesítést a függvényalkalmazáshoz külső bérlőben.

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:

  1. Jelentkezzen be az Azure Portalra, majd navigáljon, és válassza ki a korábban közzétett függvényalkalmazást.

  2. Válassza a hitelesítés lehetőséget a bal oldali menüben.

  3. Válassza az Identitásszolgáltató hozzáadása lehetőséget.

  4. Identitásszolgáltatóként válassza az OpenID Csatlakozás lehetőséget.

  5. Adjon meg egy nevet, például a Contoso Microsoft Entra-azonosítót.

  6. 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
    
  7. 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).

  8. A Microsoft Entra Felügyeleti központban:

    1. Válassza ki a korábban létrehozott Azure Functions-hitelesítési események API-alkalmazásregisztrációját.
    2. Válassza a Tanúsítványok > titkos>ügyfélkulcsok új ügyféltitkot>.
    3. Adja meg titkos ügyfélkódja leírását.
    4. Válasszon lejáratot a titkos kódhoz, vagy adjon meg egy egyéni élettartamot.
    5. Válassza a Hozzáadás lehetőséget.
    6. 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.
  9. Térjen vissza az Azure-függvényhez az alkalmazásregisztráció alatt, és adja meg az ügyfél titkos kódját.

  10. Törölje a tokentároló beállítás kijelölését.

  11. 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:

  1. 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.
  2. A bejelentkezés után a dekódolt jogkivonat a következő helyen https://jwt.msjelenik meg: .

Következő lépések