Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Introduction
Den här handledningen ger detaljerad vägledning om hur man konfigurerar en Azure-funktion för att ta emot användarrelaterad information. Det rekommenderas starkt att du konfigurerar en Azure-funktion. Det hjälper till att undvika hårdkodade programparametrar i Contoso-appen (till exempel användar-ID och användartoken). Den här informationen är mycket konfidentiell. Ännu viktigare är att vi uppdaterar användartoken regelbundet på serverdelen. Hårdkodning av användar-ID och tokenkombination kräver att värdet redigeras efter varje uppdatering.
Förutsättningar
Innan du kommer igång måste du:
- Skapa ett Azure-konto med en aktiv prenumeration. Mer information finns i Skapa ett konto kostnadsfritt.
 - Installera Visual Studio Code.
 
Konfigurera funktioner
- Installera Azure-funktionstillägget i Visual Studio Code. Du kan installera det från Visual Studio Code-plugin-webbläsaren eller genom att följa den här länken
 - Konfigurera en lokal Azure-funktionsapp genom att följa den här länken. Vi måste skapa en lokal funktion med hjälp av HTTP-utlösarmallen i JavaScript.
 - Installera Azure Communication Services-bibliotek. Vi använder identitetsbiblioteket för att generera användaråtkomsttoken. Kör kommandot npm install i din lokala Azure Function-appkatalog för att installera Azure Communication Services Identity SDK för JavaScript.
 
    npm install @azure/communication-identity --save
- 
              
index.jsÄndra filen så att den ser ut som koden nedan: 
    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
            }
        };
    }
              Förklaring till koden ovan: Den första raden importerar gränssnittet för CommunicationIdentityClient. Anslutningssträngen på den andra raden finns i din Azure Communication Services-resurs i Azure-portalen. 
              ACSEndpoint är URL:en för Azure Communication Services-resursen som skapades.
- Öppna den lokala Azure-funktionsmappen i Visual Studio Code. 
              
index.jsÖppna och kör den lokala Azure-funktionen. En lokal Azure-funktionsslutpunkt skapas och skrivs ut i terminalen. Det utskrivna meddelandet ser ut ungefär så här: 
Functions:
HttpTrigger1: [GET,POST] http://localhost:7071/api/HttpTrigger1
Öppna länken i en webbläsare. Resultatet kommer att likna det här exemplet:
    {
      "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"
    }
Distribuera den lokala funktionen till molnet. Mer information finns i den här dokumentationen.
Testa den distribuerade Azure-funktionen. Leta först upp din Azure-funktion i Azure-portalen. Använd sedan knappen Hämta funktions-URL för att hämta Azure Function-slutpunkten. Resultatet du ser bör likna det som visades i steg 5. Azure Function-slutpunkten används i appen för att initiera programparametrar.
Implementera
UserTokenClient, som används för att anropa azure-målfunktionsresursen och hämta Azure Communication Services-slutpunkten, användar-ID och användartoken från det returnerade JSON-objektet. Se exempelappen för användning.
Felsökningsguide
- Om Azure-funktionstillägget inte kunde distribuera den lokala funktionen till Azure-molnet beror det sannolikt på att versionen av Visual Studio Code och Azure-funktionstillägget används med en bugg. Den här versionskombinationen har testats för att fungera: Visual Studio Code-version 
1.68.1och Azure Function-tilläggsversion1.2.1. - Platsen för att initiera programkonstanter är krånglig men viktig. Dubbelkolla snabbstarten för chatten med Android. Mer specifikt markerar du anteckningen i avsnittet "Konfigurera programkonstanter" och jämför med exempelappen för den version som du använder.
 
(Valfritt) skydda Azure-funktionsslutpunkten
I demonstrationssyfte använder det här exemplet en offentligt tillgänglig slutpunkt som standard för att hämta en Azure Communication Services-token. För produktionsscenarier kan ett alternativ vara att använda din egen säkrade slutpunkt för att generera dina egna token.
Med extra konfiguration stöder det här exemplet anslutning till en Microsoft Entra-skyddad slutpunkt så att användarloggen krävs för att appen ska kunna hämta en Azure Communication Services-token. Användaren måste logga in med Microsoft-kontot för att få åtkomst till appen. Den här konfigurationen ökar säkerhetsnivån medan användarna måste logga in. Bestäm om du vill aktivera det baserat på användningsfallen.
Observera att vi för närvarande inte stöder Microsoft Entra-ID i exempelkod. Följ länkarna nedan för att aktivera den i din app och Azure-funktion:
Registrera din app under Microsoft Entra-ID (med androidplattformsinställningar).