Informazioni di riferimento sulle API REST del piano dati del piano dati di Pubblicazione Web di Azure

Diagramma che mostra il flusso di lavoro del servizio Web PubSub.

Come illustrato dal grafico del flusso di lavoro precedente e anche dal flusso di lavoro dettagliato descritto in internals, il server app può inviare messaggi ai client o gestire i client connessi usando le API REST esposte dal servizio Web PubSub. Questo articolo descrive in dettaglio le API REST.

Importante

Le stringa di connessione non elaborate vengono visualizzate in questo articolo solo a scopo dimostrativo.

Una stringa di connessione include le informazioni di autorizzazione di cui la tua applicazione ha bisogno per accedere al servizio Azure Web PubSub. La chiave di accesso nella stringa di connessione agisce come una password root per il tuo servizio. Negli ambienti di produzione proteggere sempre le chiavi di accesso. Usare Azure Key Vault per gestire e ruotare le chiavi in modo sicuro e proteggere la connessione con WebPubSubServiceClient.

Evitare di distribuire le chiavi di accesso ad altri utenti, impostarle come hardcoded o salvarle in un file di testo normale accessibile ad altri. Ruotare le chiavi se si ritiene che siano state compromesse.

Uso dell'API REST

Nomi di gruppo e ID utente nei percorsi delle richieste

Le operazioni REST che includono un nome di gruppo o un ID utente nel percorso di richiesta hanno una limitazione con le barre diagonali (/) in questi valori. La codifica URL della barra %2F potrebbe non risolvere la limitazione: l'operazione può non indirizzare il gruppo o l'utente previsto. Ad esempio, un client connesso all'ID tenant/alice utente potrebbe non essere trovato da una richiesta REST il cui percorso contiene /users/tenant%2Falice.

Questa limitazione si applica alle operazioni che utilizzano questi parametri di percorso, come inviare messaggi, verificare l'esistenza di un gruppo o di un utente, chiudere le connessioni e gestire l'appartenenza al gruppo. I metodi del server SDK che chiamano questi endpoint REST sono soggetti alla stessa limitazione. Questa è una limitazione del percorso delle richieste REST, non un divieto generale sui / nomi di gruppi o gli ID utente nei Web PubSub.

Per evitare questa limitazione, usa nomi di gruppo e ID utente senza / quando la tua applicazione necessita di queste operazioni REST. Se gli identificatori della tua applicazione contengono /, mappali a identificatori unici e slash-free e usa i valori mappati in modo coerente nei client access token, nell'appartenenza ai gruppi e nelle chiamate REST. Cambiare solo il valore nella richiesta REST non cambia l'ID utente o il nome del gruppo associato a una connessione esistente.

Note

Una risposta da un'operazione di invio indica che la richiesta è stata accettata per l'elaborazione 202 Accepted . Non conferma la consegna all'utente o al gruppo previsto.

Eseguire l'autenticazione tramite AccessKey del servizio Web PubSub di Azure

In ogni richiesta HTTP, è necessaria un'intestazione di autorizzazione con un token JSON Web (JWT) per l'autenticazione con il servizio PubSub Web di Azure.

Algoritmo di firma e firma

HS256, ovvero HMAC-SHA256, viene usato come algoritmo di firma.

Dovresti usare la stringa di connessione dell'AccessKeyistanza in Azure Web PubSub Service per firmare il JWT generato.

Richieste

Le richieste di ricorso di seguito devono essere incluse nel JWT.

Tipo di attestazione Obbligatorio Descrizione
aud vero Deve essere uguale all'URL della richiesta HTTP. Ad esempio, il pubblico di una richiesta di trasmissione è simile al seguente: https://example.webpubsub.azure.com/api/hubs/myhub/:send?api-version=2022-11-01.
exp vero Periodo di tempo in cui questo token sarà scaduto.

Uno pseudo-codice in JS:

Le stringa di connessione non elaborate vengono visualizzate in questo articolo solo a scopo dimostrativo. Negli ambienti di produzione proteggere sempre le chiavi di accesso. Usare Azure Key Vault per gestire e ruotare le chiavi in modo sicuro e proteggere la connessione con WebPubSubServiceClient.

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

Eseguire l'autenticazione tramite il token Microsoft Entra

Analogamente all'uso AccessKeydi , è necessario anche un token JSON Web (JWT) per autenticare la richiesta HTTP.

La differenza è che, in questo scenario, JWT viene generato da Microsoft Entra ID.

Informazioni su come generare token Microsoft Entra

L'ambito delle credenziali usato deve essere https://webpubsub.azure.com/.default.

È anche possibile usare il controllo degli Controllo di accesso accessi in base al ruolo (RBAC) per autorizzare la richiesta dal server al servizio Web PubSub di Azure.

Scopri come aggiungere assegnazioni di ruoli

API

Gruppo di operazioni Descrizione
Stato del servizio Fornisce operazioni per controllare lo stato del servizio
Operazioni REST Fornisce operazioni per gestire le connessioni e inviare messaggi.