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


Az Azure-függvény integrálása

Bevezetés

Ez az oktatóanyag részletes útmutatást nyújt arról, hogyan állíthat be egy Azure-függvényt a felhasználóval kapcsolatos információk fogadásához. Az Azure-függvények beállítása erősen ajánlott. Segít elkerülni a Contoso alkalmazás kemény kódolású alkalmazásparamétereit (például a felhasználói azonosítót és a felhasználói jogkivonatot). Ezek az információk szigorúan bizalmasak. Ennél is fontosabb, hogy rendszeresen frissítjük a felhasználói jogkivonatokat a háttérrendszeren. A felhasználói azonosító és a jogkivonat kombinációjának szigorú kódolásához minden frissítés után szerkeszteni kell az értéket.

Előfeltételek

Az első lépések előtt győződjön meg arról, hogy:

Függvények beállítása

  1. Telepítse az Azure-függvénybővítményt a Visual Studio Code-ban. Telepítheti a Visual Studio Code beépülő modul böngészőjéből, vagy ezt a hivatkozást követve
  2. A hivatkozás követésével állítson be egy helyi Azure-függvényalkalmazást. Létre kell hoznunk egy helyi függvényt a JavaScript HTTP-triggersablonjának használatával.
  3. Telepítse az Azure Communication Services-kódtárakat. Az identitástár használatával hozunk létre felhasználói hozzáférési jogkivonatokat. Futtassa az npm telepítési parancsot a helyi Azure-függvényalkalmazás könyvtárában az Azure Communication Services Identity SDK for JavaScript telepítéséhez.
    npm install @azure/communication-identity --save
  1. Módosítsa a index.js fájlt úgy, hogy az az alábbi kódhoz hasonlóan nézzen ki:
    const { CommunicationIdentityClient } = require('@azure/communication-identity');
    const connectionString = '<your_connection_string>'
    const acsEndpoint = "<your_ACS_endpoint>"
    
    module.exports = async function (context, req) {
        let tokenClient = new CommunicationIdentityClient(connectionString);
    
        const userIDHolder = await tokenClient.createUser();
        const userId = userIDHolder.communicationUserId
    
        const userToken = await (await tokenClient.getToken(userIDHolder, ["chat"])).token;
    
        context.res = {
            body: {
                acsEndpoint,
                userId,
                userToken
            }
        };
    }

Magyarázat a fenti kódhoz: Az első sor importálja a felületet a CommunicationIdentityClient. A második sor kapcsolati sztring az Azure Portal Azure Communication Services-erőforrásában található. A ACSEndpoint létrehozott Azure Communication Services-erőforrás URL-címe.

  1. Nyissa meg a helyi Azure-függvénymappát a Visual Studio Code-ban. Nyissa meg és index.js futtassa a helyi Azure-függvényt. Létrejön és kinyomtat egy helyi Azure-függvényvégpontot a terminálon. A nyomtatott üzenet a következőhöz hasonló:
Functions:
HttpTrigger1: [GET,POST] http://localhost:7071/api/HttpTrigger1

Nyissa meg a hivatkozást egy böngészőben. Az eredmény az alábbi példához hasonló lesz:

    {
      "acsEndpoint": "<Azure Function endpoint>",
      "userId": "8:acs:a636364c-c565-435d-9818-95247f8a1471_00000014-f43f-b90f-9f3b-8e3a0d00c5d9",
      "userToken": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjEwNiIsIng1dCI6Im9QMWFxQnlfR3hZU3pSaXhuQ25zdE5PU2p2cyIsInR5cCI6IkpXVCJ9.eyJza3lwZWlkIjoiYWNzOmE2MzYzNjRjLWM1NjUtNDM1ZC05ODE4LTk1MjQ3ZjhhMTQ3MV8wMDAwMDAxNC1mNDNmLWI5MGYtOWYzYi04ZTNhMGQwMGM1ZDkiLCJzY3AiOjE3OTIsImNzaSI6IjE2Njc4NjI3NjIiLCJleHAiOjE2Njc5NDkxNjIsImFjc1Njb3BlIjoiY2hhdCIsInJlc291cmNlSWQiOiJhNjM2MzY0Yy1jNTY1LTQzNWQtOTgxOC05NTI0N2Y4YTE0NzEiLCJyZXNvdXJjZUxvY2F0aW9uIjoidW5pdGVkc3RhdGVzIiwiaWF0IjoxNjY3ODYyNzYyfQ.t-WpaUUmLJaD0V2vgn3M5EKdJUQ_JnR2jnBUZq3J0zMADTnFss6TNHMIQ-Zvsumwy14T1rpw-1FMjR-zz2icxo_mcTEM6hG77gHzEgMR4ClGuE1uRN7O4-326ql5MDixczFeIvIG8s9kAeJQl8N9YjulvRkGS_JZaqMs2T8Mu7qzdIOiXxxlmcl0HeplxLaW59ICF_M4VPgUYFb4PWMRqLXWjKyQ_WhiaDC3FvhpE_Bdb5U1eQXDw793V1_CRyx9jMuOB8Ao7DzqLBQEhgNN3A9jfEvIE3gdwafpBWlQEdw-Uuf2p1_xzvr0Akf3ziWUsVXb9pxNlQQCc19ztl3MIQ"
    }
  1. A helyi függvény üzembe helyezése a felhőben. További részleteket ebben a dokumentációban talál.

  2. Tesztelje az üzembe helyezett Azure-függvényt. Először keresse meg az Azure-függvényt az Azure Portalon. Ezután használja a "Függvény URL-címének lekérése" gombot az Azure-függvény végpontjának lekéréséhez. A megjelenő eredménynek az 5. lépésben láthatóhoz hasonlónak kell lennie. Az Azure-függvény végpontja az alkalmazásparaméterek inicializálásához lesz használva.

  3. Implementálás UserTokenClient, amely a cél Azure-függvény erőforrás meghívására és az Azure Communication Services-végpont, a felhasználói azonosító és a felhasználói jogkivonat lekérésére szolgál a visszaadott JSON-objektumból. A használathoz tekintse meg a mintaalkalmazást.

Hibaelhárítási útmutató

  1. Ha az Azure-függvénybővítmény nem tudta üzembe helyezni a helyi függvényt az Azure-felhőben, annak oka valószínűleg a Visual Studio Code verziója és az Azure-függvénybővítmény hibája. Ezt a verziókombinációt teszteltük, hogy működjön: Visual Studio Code-verzió 1.68.1 és Azure-függvénybővítmény verziója 1.2.1.
  2. Az alkalmazásállandók inicializálásának helye bonyolult, de fontos. Ellenőrizze duplán a csevegés androidos gyorsindítását. Pontosabban az "Alkalmazásállandók beállítása" című szakasz kiemelt megjegyzése, és hasonlítsa össze a használt verzió mintaalkalmazásával.

(Nem kötelező) az Azure-függvény végpontjának védelme

Bemutató célokra ez a minta alapértelmezés szerint egy nyilvánosan elérhető végpontot használ egy Azure Communication Services-jogkivonat lekéréséhez. Éles helyzetekben az egyik lehetőség a saját biztonságos végpont használata a saját jogkivonatok kiépítéséhez.

További konfiguráció esetén ez a minta támogatja a Microsoft Entra által védett végponthoz való csatlakozást, így az alkalmazásnak felhasználói naplóra van szüksége egy Azure Communication Services-jogkivonat lekéréséhez. A felhasználónak be kell jelentkeznie a Microsoft-fiókkal az alkalmazás eléréséhez. Ez a beállítás növeli a biztonsági szintet, miközben a felhasználóknak be kell jelentkezniük. Döntse el, hogy a használati esetek alapján engedélyezi-e.

Vegye figyelembe, hogy jelenleg nem támogatjuk a Microsoft Entra-azonosítót a mintakódban. Kövesse az alábbi hivatkozásokat az alkalmazás és az Azure-függvény engedélyezéséhez:

Regisztrálja az alkalmazást a Microsoft Entra ID (Android platformbeállítások használatával) alatt.

Konfigurálja az App Service-t vagy az Azure Functions-alkalmazást a Microsoft Entra ID-bejelentkezés használatára.