Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Usa Azure Identity con
Questo articolo mostra come creare un WebPubSubServiceClient che usa Microsoft Entra ID per autorizzare le richieste verso Azure Web PubSub.
Prerequisiti
- Una sottoscrizione di Azure.
- Una risorsa esistente di Azure Web PubSub.
- Un'identità Microsoft Entra, come un'applicazione o un'identità gestita.
Important
Assegna all'identità Microsoft Entra un ruolo di Azure che includa le autorizzazioni del piano dati richieste dalle operazioni dell'SDK richiamate dalla tua applicazione. Per generare un client access token e usarlo per connettersi, l'identità richiede sia Microsoft.SignalRService/WebPubSub/clientConnection/generateToken/action che Microsoft.SignalRService/WebPubSub/clientConnection/write. Il ruolo predefinito Web PubSub Service Owner comprende entrambe le autorizzazioni, ma consente l'accesso a tutte le API del piano dati. Nessun ruolo predefinito più limitato include entrambe le autorizzazioni. Per l'accesso a privilegi minimi, usa un ruolo personalizzato che contenga solo i permessi di cui la tua applicazione ha bisogno.
Scegli una lingua:
Installa i pacchetti Azure Identity e Azure Web PubSub:
dotnet add package Azure.Identity
dotnet add package Azure.Messaging.WebPubSub
Crea un DefaultAzureCredential, e passalo a WebPubSubServiceClient:
using Azure.Identity;
using Azure.Messaging.WebPubSub;
var credential = new DefaultAzureCredential();
var client = new WebPubSubServiceClient(
new Uri("<endpoint>"),
"<hub>",
credential);
Per altri tipi di credenziali, consulta la libreria client Azure Identity per .NET.
Utilizzare l'iniezione delle dipendenze
Installa il pacchetto di iniezione delle dipendenze:
dotnet add package Microsoft.Extensions.Azure
Registrati WebPubSubServiceClient alla collezione di servizi:
using Azure.Identity;
using Microsoft.Extensions.Azure;
using Microsoft.Extensions.DependencyInjection;
void ConfigureServices(IServiceCollection services)
{
services.AddAzureClients(builder =>
{
builder.AddWebPubSubServiceClient(
new Uri("<endpoint>"),
"<hub>",
new DefaultAzureCredential());
});
}
Per maggiori informazioni, consulta la libreria client di servizi Azure Web PubSub per .NET e l'esempio completo.