Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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. |