Partager via


TokenCachePersistenceOptions Classe

Définition

Options contrôlant le stockage du cache de jetons.

public class TokenCachePersistenceOptions
type TokenCachePersistenceOptions = class
Public Class TokenCachePersistenceOptions
Héritage
TokenCachePersistenceOptions
Dérivé

Exemples

Il s’agit d’un exemple montrant comment TokenCachePersistenceOptions et authenticationRecord peuvent être utilisés ensemble pour activer l’authentification en mode silencieux entre les exécutions d’une application 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);

Constructeurs

TokenCachePersistenceOptions()

Options contrôlant le stockage du cache de jetons.

Propriétés

Name

Nom identifiant de manière unique le TokenCachePersistenceOptions.

UnsafeAllowUnencryptedStorage

Si la valeur est true, le cache de jetons peut être conservé en tant que fichier non chiffré si aucun chiffrement utilisateur au niveau du système d’exploitation n’est disponible. Lorsqu’il est défini sur false, le cache de jeton lève un CredentialUnavailableException dans le cas où aucun chiffrement utilisateur au niveau du système d’exploitation n’est disponible.

S’applique à