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


Megbízható felhasználói hozzáférési szolgáltatás létrehozása Azure Functions használatával

Ez a cikk azt ismerteti, hogyan hozhat létre megbízható felhasználói hozzáférési szolgáltatást a Azure Functions használatával.

Fontos

Az oktatóanyag végén létrehozott végpont nem biztonságos. Mindenképpen olvassa el a biztonsági részleteket az Azure Function Security cikkben. A végponthoz biztonsági elemet kell hozzáadnia, hogy a rossz szereplők ne tudjanak jogkivonatokat kiépíteni.

Kód letöltése

A rövid útmutató véglegesített kódjának megkeresése a GitHubon

Előfeltételek

Áttekintés

A megbízható szolgáltatásarchitektúra ábrája

Ebben az oktatóanyagban egy olyan Azure-függvényt fogunk létrehozni, amely megbízható jogkivonat-kiépítési szolgáltatásként fog szolgálni. Ezzel az oktatóanyagtal elindíthatja saját jogkivonat-kiépítési szolgáltatását.

Ez a szolgáltatás felelős a felhasználók Azure Communication Services hitelesítéséért. A Communication Services-alkalmazások felhasználóinak szüksége lesz egyre Access Token a csevegési beszélgetésekben és a VoIP-hívásokban való részvételhez. Az Azure-függvény megbízható közvetítőként fog működni a felhasználó és a Kommunikációs szolgáltatások között. Ez lehetővé teszi hozzáférési jogkivonatok kiépítését anélkül, hogy az erőforrás-kapcsolati sztring a felhasználók számára tenné elérhetővé.

További információkért tekintse meg az ügyfél-kiszolgáló architektúráját , valamint a hitelesítés és engedélyezés fogalmi dokumentációját.

Beállítása

Azure Functions beállítása

Először állítsuk be az Azure-függvény alapstruktúráját. A beállítás részletes útmutatója itt található: Függvény létrehozása a Visual Studio Code használatával

Az Azure-függvényhez a következő konfiguráció szükséges:

  • Nyelv: JavaScript
  • Sablon: HTTP-eseményindító
  • Engedélyezési szint: Névtelen (Ez később váltható, ha egy másik engedélyezési modellt szeretne használni)
  • Függvény neve: Felhasználó által definiált

A fenti konfigurációval Azure Functions utasítások követését követően rendelkeznie kell egy projekttel az Azure-függvényhez készült Visual Studio Code-ban egy index.js olyan fájllal, amely magában a függvényt tartalmazza. A fájlban található kódnak a következőnek kell lennie:


module.exports = async function (context, req) {
    context.log('JavaScript HTTP trigger function processed a request.');

    const name = (req.query.name || (req.body && req.body.name));
    const responseMessage = name
        ? "Hello, " + name + ". This HTTP triggered function executed successfully."
        : "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.";

    context.res = {
        // status: 200, /* Defaults to 200 */
        body: responseMessage
    };
}

Most folytatjuk Azure Communication Services kódtárak telepítését.

Kommunikációs szolgáltatási kódtárak telepítése

A kódtár használatával Identity fogjuk létrehozni a következőt User Access Tokens: .

npm install Az paranccsal telepítse a JavaScripthez készült Azure Communication Services Identity SDK-t.


npm install @azure/communication-identity --save

A --save beállítás függőségként listázza a kódtárat a package.json fájlban.

A fájl tetején index.js importálja a CommunicationIdentityClient

const { CommunicationIdentityClient } = require('@azure/communication-identity');

Hozzáférési jogkivonat létrehozása

Ahhoz, hogy az Azure-függvényünk létrehozhassonUser Access Tokens, először a Communication Services-erőforrás kapcsolati sztring kell használnunk.

A kapcsolati sztring lekérésével kapcsolatos további információkért tekintse meg az erőforrás-kiépítési rövid útmutatót.

const connectionString = 'INSERT YOUR RESOURCE CONNECTION STRING'

A következő lépésben az eredeti függvényt úgy módosítjuk, hogy létrehozza a következőt User Access Tokens: .

User Access Tokens egy felhasználó metódusból történő createUser létrehozásával jön létre. A felhasználó létrehozása után a getToken metódussal létrehozhatunk egy jogkivonatot a felhasználó számára, amelyet az Azure-függvény ad vissza.

Ebben a példában a jogkivonat hatókörét a következőre konfiguráljuk: voip. Az alkalmazáshoz más hatókörökre is szükség lehet. További információ a hatókörökről

module.exports = async function (context, req) {
    let tokenClient = new CommunicationIdentityClient(connectionString);

    const user = await tokenClient.createUser();

    const userToken = await tokenClient.getToken(user, ["voip"]);

    context.res = {
        body: userToken
    };
}

Meglévő Communication Services CommunicationUseresetén kihagyhatja a létrehozási lépést, és létrehozhat egy hozzáférési jogkivonatot. További részleteket a Felhasználói hozzáférési jogkivonatok létrehozása rövid útmutatóban talál.

Az Azure-függvény tesztelése

Futtassa az Azure-függvényt helyileg a használatával F5. Ez helyben inicializálja az Azure-függvényt, és a következőn keresztül teszi elérhetővé: http://localhost:7071/api/FUNCTION_NAME. Tekintse meg a helyi futtatásról szóló további dokumentációt

Nyissa meg az URL-címet a böngészőben, és meg kell jelennie egy választörzsnek, amely tartalmazza a kommunikációs felhasználói azonosítót, a jogkivonat jogkivonatát és lejáratát.

Képernyőkép a létrehozott Azure-függvény válasz példájáról.

A függvény üzembe helyezése az Azure-ban

Az Azure-függvény üzembe helyezéséhez kövesse a lépésenkénti utasításokat

Összefoglalva a következőket kell elvégeznie:

  1. Bejelentkezés az Azure-ba a Visual Studióból
  2. Tegye közzé a projektet az Azure-fiókjában. Itt ki kell választania egy meglévő előfizetést.
  3. Hozzon létre egy új Azure-függvényerőforrást a Visual Studio varázslóval, vagy használjon egy meglévő erőforrást. Új erőforrás esetén konfigurálnia kell azt a kívánt régióra, futtatókörnyezetre és egyedi azonosítóra.
  4. Várakozás az üzembe helyezés véglegesítésére
  5. A függvény 🎉 futtatása

Azure-függvény futtatása

Az Azure-függvény futtatása az URL-cím használatával http://<function-appn-ame>.azurewebsites.net/api/<function-name>

Az URL-címet a jobb gombbal a Visual Studio Code-függvényre kattintva és a függvény URL-címének másolásával keresheti meg.

További információ az Azure-függvény futtatásáról

Az Azure-függvény biztonságossá tétele

Egy megbízható szolgáltatás beállításának részeként, amely hozzáférési jogkivonatokat épít ki a felhasználók számára, figyelembe kell vennünk a végpont biztonságát annak érdekében, hogy egyetlen rossz szereplő sem tud véletlenszerűen jogkivonatokat létrehozni a szolgáltatáshoz. Azure Functions olyan beépített biztonsági szolgáltatásokat biztosít, amelyekkel különböző hitelesítési házirendek használatával védheti a végpontot. További információ az Azure Function Securityről

Az erőforrások eltávolítása

Ha törölni és eltávolítani szeretne egy Communication Services-előfizetést, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított egyéb erőforrásokat is törli. További információ az Azure Communication Service-erőforrások tisztításáról és az Azure-függvényerőforrások tisztításáról.

Következő lépések

A következőket is érdemes lehet elvégeznie: