Rest API-verwijzing voor azure Web PubSub-servicegegevensvlak

Diagram van de Web PubSub-servicewerkstroom.

Zoals wordt geïllustreerd door de bovenstaande werkstroomgrafiek en ook gedetailleerde werkstroom die wordt beschreven in internals, kan uw app-server berichten verzenden naar clients of de verbonden clients beheren met behulp van REST API's die beschikbaar zijn gesteld door de Web PubSub-service. In dit artikel worden de REST API's uitgebreid beschreven.

Belangrijk

Onbewerkte verbindingsreeks worden alleen in dit artikel weergegeven voor demonstratiedoeleinden.

Een verbindingsreeks bevat de autorisatie-informatie die je applicatie nodig heeft om toegang te krijgen tot de Azure Web PubSub-service. De toegangssleutel in de verbindingsreeks fungeert als een rootwachtwoord voor je dienst. Beveilig uw toegangssleutels altijd in productieomgevingen. Gebruik Azure Key Vault om uw sleutels veilig te beheren en te roteren en uw verbinding te beveiligen.WebPubSubServiceClient

Vermijd het distribueren van toegangssleutels naar andere gebruikers, het coderen ervan of het opslaan van ze ergens in tekst zonder opmaak die toegankelijk is voor anderen. Draai uw sleutels als u denkt dat ze mogelijk zijn aangetast.

REST API gebruiken

Groepsnamen en gebruikers-ID's in verzoekpaden

REST-operaties die een groepsnaam of gebruikers-ID in het aanvraagpad bevatten, hebben een beperking met forward slashes (/) in deze waarden. URL-encoderen van de slash als %2F lost mogelijk de beperking niet op: de operatie kan falen in het adresseren van de bedoelde groep of gebruiker. Bijvoorbeeld, een client die verbonden is met de gebruikers-ID tenant/alice kan niet worden gevonden door een REST-verzoek waarvan het pad bevat /users/tenant%2Falice.

Deze beperking geldt voor bewerkingen die deze padparameters gebruiken, zoals het verzenden van berichten, controleren of er een groep of gebruiker bestaat, het sluiten van verbindingen en het beheren van groepslidmaatschap. Server SDK-methoden die deze REST-eindpunten aanroepen vallen onder dezelfde beperking. Dit is een beperking van het REST-verzoekpad, geen algemeen verbod op / groepsnamen of gebruikers-ID's in Web PubSub.

Om de beperking te vermijden, gebruik groepsnamen en gebruikers-ID's zonder / wanneer je applicatie deze REST-operaties nodig heeft. Als de identifiers van je applicatie bevatten /, koppel ze aan unieke, schuine code-loze identifiers en gebruik de toegewezen waarden consequent in clienttoegangstokens, groepslidmaatschap en REST-aanroepen. Het wijzigen van alleen de waarde in het REST-verzoek verandert niet de gebruikers-ID of groepsnaam die aan een bestaande verbinding is gekoppeld.

Note

Een 202 Accepted antwoord van een verzendoperatie geeft aan dat het verzoek is geaccepteerd voor verwerking. Het bevestigt de levering niet aan de bedoelde gebruiker of groep.

Verifiëren via Azure Web PubSub Service AccessKey

In elke HTTP-aanvraag is een autorisatieheader met een JSON-webtoken (JWT) vereist voor verificatie met de Azure Web PubSub-service.

Handtekeningalgoritme en handtekening

HS256, namelijk HMAC-SHA256, wordt gebruikt als het ondertekeningsalgoritme.

Je zou de verbindingsreeks van de AccessKey Azure Web PubSub Service-instantie moeten gebruiken om de gegenereerde JWT te ondertekenen.

Claims

Hieronder moeten de claims worden opgenomen in de JWT.

Claimtype Is vereist Beschrijving
aud true Moet hetzelfde zijn als de URL van uw HTTP-aanvraag. De doelgroep van een broadcast-aanvraag ziet er bijvoorbeeld als volgt uit: https://example.webpubsub.azure.com/api/hubs/myhub/:send?api-version=2022-11-01
exp true Tijdsperiode waarin dit token is verlopen.

Een pseudocode in JS:

Onbewerkte verbindingsreeks worden alleen in dit artikel weergegeven voor demonstratiedoeleinden. Beveilig uw toegangssleutels altijd in productieomgevingen. Gebruik Azure Key Vault om uw sleutels veilig te beheren en te roteren en uw verbinding te beveiligen.WebPubSubServiceClient

const bearerToken = jwt.sign({}, connectionString.accessKey, {
  audience: request.url,
  expiresIn: "1h",
  algorithm: "HS256",
});

Verifiëren via Microsoft Entra-token

Net als bij het gebruik AccessKeyis ook een JSON Web Token (JWT) vereist om de HTTP-aanvraag te verifiëren.

Het verschil is dat JWT in dit scenario wordt gegenereerd door Microsoft Entra ID.

Meer informatie over het genereren van Microsoft Entra-tokens

Het gebruikte referentiebereik moet zijn https://webpubsub.azure.com/.default.

U kunt ook op rollen gebaseerd toegangsbeheer (RBAC) gebruiken om de aanvraag van uw server te autoriseren naar Azure Web PubSub Service.

Leer hoe je roltoewijzingen toevoegt

API's

Bewerkingsgroep Beschrijving
Servicestatus Biedt bewerkingen om de servicestatus te controleren
REST-operaties Biedt bewerkingen voor het beheren van de verbindingen en het verzenden van berichten naar deze verbindingen.