Share via


TokenCachePersistenceOptions Classe

Definição

Opções que controlam o armazenamento do cache de token.

public class TokenCachePersistenceOptions
type TokenCachePersistenceOptions = class
Public Class TokenCachePersistenceOptions
Herança
TokenCachePersistenceOptions
Derivado

Exemplos

Este é um exemplo que mostra como TokenCachePersistenceOptions e um AuthenticationRecord podem ser usados juntos para habilitar a autenticação silenciosa em execuções de um aplicativo cliente.

const string TOKEN_CACHE_NAME = "MyTokenCache";
InteractiveBrowserCredential credential;
AuthenticationRecord authRecord;

// Check if an AuthenticationRecord exists on disk.
// If it does not exist, get one and serialize it to disk.
// If it does exist, load it from disk and deserialize it.
if (!File.Exists(AUTH_RECORD_PATH))
{
    // Construct a credential with TokenCachePersistenceOptions specified to ensure that the token cache is persisted to disk.
    // We can also optionally specify a name for the cache to avoid having it cleared by other applications.
    credential = new InteractiveBrowserCredential(
        new InteractiveBrowserCredentialOptions { TokenCachePersistenceOptions = new TokenCachePersistenceOptions { Name = TOKEN_CACHE_NAME } });

    // Call AuthenticateAsync to fetch a new AuthenticationRecord.
    authRecord = await credential.AuthenticateAsync();

    // Serialize the AuthenticationRecord to disk so that it can be re-used across executions of this initialization code.
    using var authRecordStream = new FileStream(AUTH_RECORD_PATH, FileMode.Create, FileAccess.Write);
    await authRecord.SerializeAsync(authRecordStream);
}
else
{
    // Load the previously serialized AuthenticationRecord from disk and deserialize it.
    using var authRecordStream = new FileStream(AUTH_RECORD_PATH, FileMode.Open, FileAccess.Read);
    authRecord = await AuthenticationRecord.DeserializeAsync(authRecordStream);

    // Construct a new client with our TokenCachePersistenceOptions with the addition of the AuthenticationRecord property.
    // This tells the credential to use the same token cache in addition to which account to try and fetch from cache when GetToken is called.
    credential = new InteractiveBrowserCredential(
        new InteractiveBrowserCredentialOptions
        {
            TokenCachePersistenceOptions = new TokenCachePersistenceOptions { Name = TOKEN_CACHE_NAME },
            AuthenticationRecord = authRecord
        });
}

// Construct our client with the credential which is connected to the token cache
// with the capability of silent authentication for the account specified in the AuthenticationRecord.
var client = new SecretClient(new Uri("https://myvault.vault.azure.net/"), credential);

Construtores

TokenCachePersistenceOptions()

Opções que controlam o armazenamento do cache de token.

Propriedades

Name

Nome que identifica exclusivamente o TokenCachePersistenceOptions.

UnsafeAllowUnencryptedStorage

Se definido como true, o cache de token poderá ser persistido como um arquivo não criptografado se nenhuma criptografia de usuário no nível do sistema operacional estiver disponível. Quando definido como false, o cache de token gerará um CredentialUnavailableException caso nenhuma criptografia de usuário no nível do sistema operacional esteja disponível.

Aplica-se a