Procedura: configurare un emittente locale

In questo argomento viene illustrato come configurare un client per utilizzare un emittente locale per i token emessi.

Spesso, quando un client comunica con un servizio federato, il servizio specifica l'indirizzo del servizio token di protezione previsto per l'emissione del token che il client utilizzerà per autenticarsi presso il servizio federato. In alcune situazioni, è possibile configurare il client per utilizzare un emittente locale.

In Windows Communication Foundation (WCF) viene utilizzato un emittente locale quando l'indirizzo dell'emittente di un'associazione federata è https://schemas.microsoft.com/2005/12/ServiceModel/Addressing/Anonymous o null. In tali casi, è necessario configurare la classe ClientCredentials con l'indirizzo dell'emittente locale e con l'associazione da utilizzare per comunicare con tale emittente.

Nota

Se la proprietà SupportInteractive della classe ClientCredentials è impostata su true, l'indirizzo dell'emittente locale non viene specificato e l'indirizzo dell'emittente specificato dall'wsFederationHttpBinding element o da un'altra associazione federata è https://schemas.xmlsoap.org/ws/2005/05/identity/issuer/self, https://schemas.microsoft.com/2005/12/ServiceModel/Addressing/Anonymous o è null, viene utilizzato l'emittente CardSpace di Windows.

Per configurare l'emittente locale nel codice

  1. Creare una variabile di tipo IssuedTokenClientCredential.

  2. Impostare la variabile sull'istanza restituita dalla proprietà IssuedToken della classe ClientCredentials. L'istanza viene restituita dalla proprietà ClientCredentials del client (ereditata da ClientBase) o dalla proprietà Credentials della classe ChannelFactory:

  3. Impostare la proprietà LocalIssuerAddress su una nuova istanza di EndpointAddress, con l'indirizzo dell'emittente locale come argomento per il costruttore.

    In alternativa, creare una nuova istanza Uri come argomento per il costruttore.

    Il parametro addressHeaders è una matrice di istanze AddressHeader, come illustrato.

  4. Impostare l'associazione per l'emittente locale utilizzando la proprietà LocalIssuerBinding.

  5. Facoltativo. Aggiungere i comportamenti dell'endpoint configurati per l'emittente locale aggiungendo tali comportamenti all'insieme restituito dalla proprietà LocalIssuerChannelBehaviors.

Per configurare l'emittente locale nella configurazione

  1. Creare un elemento <localIssuer> come figlio dell'elemento <issuedToken>, che è a sua volta figlio dell'elemento <clientCredentials> in un comportamento dell'endpoint.

  2. Impostare l'attributo address sull'indirizzo dell'emittente locale che accetterà richieste del token.

  3. Impostare gli attributi binding e bindingConfiguration su valori che fanno riferimento all'associazione appropriata da utilizzare durante la comunicazione con l'endpoint dell'emittente locale.

  4. Facoltativo. Impostare l'elemento <identity> come figlio dell'elemento <localIssuer> e specificare le informazioni di identità per l'emittente locale.

  5. Facoltativo. Impostare l'elemento <headers> come figlio dell'elemento <localIssuer> e specificare le intestazioni aggiuntive necessarie per indirizzare correttamente l'emittente locale.

Protezione

Si noti che, se per una determinata associazione vengono specificati l'indirizzo dell'emittente e l'associazione, l'emittente locale non verrà utilizzato per gli endpoint che utilizzano tale associazione. Per i client che prevedono di utilizzare sempre l'emittente locale, è necessario accertarsi di non utilizzare tale associazione o di modificare l'associazione in modo che l'indirizzo dell'emittente sia null.

Vedere anche

Attività

Procedura: configurare le credenziali in un servizio federativo
Procedura: creare un client federato
Procedura: creare una classe WSFederationHttpBinding