Megosztás:


Hitelesítési szolgáltatás létrehozása az 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 az Azure Functions használatával.

Important

Az oktatóanyagban létrehozott végpont nem biztonságos. Mindenképpen olvassa el az Azure Functions biztonsági cikkének biztonsági részleteit. A saját végpontjához biztonságot kell hozzáadnia, hogy a rosszindulatú szereplők ne tudjanak tokeneket generálni.

Ez a cikk a következőket ismerteti:

  • Függvény létrehozása.
  • Hozzáférési jogkivonatok létrehozása.
  • Tesztelje a függvényt.
  • Telepítse és futtassa a függvényt.

Kód letöltése

Keresse meg a gitHubon a rövid útmutató véglegesített kódját.

Prerequisites

Overview

A megbízható szolgáltatásarchitektúrát bemutató diagram.

Ebben az oktatóanyagban egy olyan függvényalkalmazást hoz létre, amely megbízható módon szolgál jogkivonatok biztosítására. Ezzel az oktatóanyaggal elindíthatja saját token-szolgáltatását.

Ez a szolgáltatás felelős a felhasználók Kommunikációs szolgáltatásokhoz való hitelesítéséért. A Communication Services-alkalmazások felhasználóinak hozzáférési jogkivonatra van szükségük a csevegési beszélgetésekben és a VoIP-hívásokban való részvételhez. A függvény megbízható közvetítőként működik a felhasználó és a Kommunikációs szolgáltatások között. Hozzáférési jogkivonatokat anélkül biztosíthat, hogy felfedné az erőforrás-kapcsolati karakterláncot a felhasználók számára.

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

Függvény létrehozása

Ez a szakasz a függvények beállításának eljárásait ismerteti.

Az Azure Functions beállítása

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

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

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

Miután követte a rövid útmutató utasításait: C#-függvény létrehozása az Azure-ban a Visual Studio Code előző konfigurációval történő használatával , rendelkeznie kell egy projekttel a Visual Studio Code-ban a függvényhez egy index.js olyan fájllal, amely magában a függvényt tartalmazza. A fájlban a következő kódnak 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
    };
}

A következő lépés a Communication Services-kódtárak telepítése.

Kommunikációs szolgáltatások könyvtárainak telepítése

A Identity könyvtár használatával generálhat felhasználói hozzáférési jogkivonatokat.

npm install A parancs használatával telepítse a Communication Services Identity SDK for JavaScriptet.


npm install @azure/communication-identity --save

A --save beállítás függőségként sorolja fel a tárat a package.json fájlban.

A index.js fájl tetején importálja a CommunicationIdentityClient paraméter felületét.

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

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

Ahhoz, hogy a függvény felhasználói hozzáférési tokeneket hozzon létre, először a kapcsolati sztringet kell használnia a Communication Services erőforrásához.

A kapcsolati karakterlánc lekéréséről további információt a Rövid útmutató: Communication Services-erőforrások létrehozása és kezelése című szakaszban talál.

const connectionString = 'INSERT YOUR RESOURCE CONNECTION STRING'

Ezután módosítsa az eredeti függvényt, hogy felhasználói hozzáférési tokeneket hozzon létre.

Felhasználói hozzáférési jogkivonatok létrehozásához használja a createUser metódust egy felhasználó létrehozásához. A felhasználó létrehozása után a getToken metódus használatával hozzon létre egy jogkivonatot a felhasználó számára, amelyet a függvény visszaad.

Ebben a példában a jogkivonat hatókörét a következőre voipkonfigurálja: . Más hatókörökre is szükség lehet az alkalmazáshoz. Ha többet szeretne megtudni a hatáskörökről, lásd: hozzáférési jogkivonatok létrehozása és kezelése.

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
    };
}

A meglévő Communication Services CommunicationUser paraméter esetében kihagyhatja a létrehozási lépést, és létrehozhat egy hozzáférési jogkivonatot. További információ: Hozzáférési jogkivonatok létrehozása és kezelése.

A függvény tesztelése

Futtassa a függvényt helyileg a(z) F5 használatával. Ez a művelet helyileg inicializálja a függvényt, és elérhetővé http://localhost:7071/api/FUNCTION_NAMEteszi. További információ a helyi futtatásról : Rövid útmutató: C#-függvény létrehozása az Azure-ban a Visual Studio Code használatával.

Nyissa meg az URL-címet a böngészőben, és megjelenik egy választörzs a kommunikációs felhasználó azonosítójával, a jogkivonattal és a jogkivonat lejáratával.

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

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

A függvény üzembe helyezéséhez kövesse a rövid útmutató lépéseit: C# függvény létrehozása az Azure-ban a Visual Studio Code használatával.

Összefoglalva:

  1. Jelentkezzen be 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 függvényerőforrást a Visual Studio varázslóval vagy egy meglévő erőforrással. Új erőforrás esetén konfigurálnia kell a kívánt régióra, futtatókörnyezetre és egyedi azonosítóra.
  4. Várja meg, amíg az üzembe helyezés befejeződik.
  5. Futtasd a függvényt.

A függvény futtatása

Futtassa a függvényt az URL-cím http://<function-appn-ame>.azurewebsites.net/api/<function-name>használatával.

Az URL-cím megkereséséhez kattintson a jobb gombbal a függvényre a Visual Studio Code-ban, és másolja ki a függvény URL-címét.

További információ a függvény futtatásáról : Rövid útmutató: C#-függvény létrehozása az Azure-ban a Visual Studio Code használatával.

A végpont védelme

Egy megbízható szolgáltatás beállításának részeként, amely hozzáférési jogkivonatokat biztosít a felhasználóknak, figyelembe kell vennie a végpont biztonságát annak érdekében, hogy egyetlen rossz szereplő sem hozhat létre véletlenszerűen jogkivonatokat a szolgáltatáshoz. Az Azure Functions beépített biztonsági szolgáltatásokat biztosít, amelyekkel különböző hitelesítési szabályzatok használatával védheti a végpontot. További információ: Azure Functions security.

Az erőforrások rendezése.

Ha törölni és eltávolítani szeretne egy Azure 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ó a Kommunikációs szolgáltatás erőforrásainak törléséről és az Azure Functions-erőforrások törléséről.