Langue

TestTokenCreator Classe

Définition

Classe responsable de la création de jetons de test à utiliser dans les implémentations de tests unitaires en fonction de Microsoft. Validation du jeton IdentityModel.

public class TestTokenCreator
type TestTokenCreator = class
Public Class TestTokenCreator
Héritage
TestTokenCreator

Exemples

L’exemple suivant montre comment cette classe peut être exploitée à l’aide d’une infrastructure de test commune, Xunit. Toutefois, les concepts fondamentaux s’appliquent aux tests unitaires à l’aide de n’importe quelle infrastructure.

L’exemple imagine une classe, ClassWithMicrosoftIdentityModelDependency, qui expose ValidateToken, une méthode appelant le Microsoft. Bibliothèque IdentityModel et GetTokenValidationParameters qui récupère le TokenValidationParameters code sous test utilise réellement. Notez qu’il est important d’utiliser le réel TokenValidationParameters , car cela permettra aux tests unitaires de confirmer réellement s’il existe un écart dans la validation (par exemple, certaines validations importantes sont désactivées, ValidateAudience, ValidateIssueretc.)

Dans l’exemple de code suivant, generateTokenToTest doit être l’une des méthodes de cette classe.

internal void AssertValidationException(Func{string} generateTokenToTest, Type innerExceptionType, string innerExceptionMessagePart)
{
    try
    {
        ClassWithMicrosoftIdentityModelDependency.ValidateToken(
            generateTokenToTest,
            ClassWithMicrosoftIdentityModelDependency.GetTokenValidationParameters());

        if (innerExceptionType != null || innerExceptionType != null)
            throw new TestException(
                string.Format(
                    "Expected an exception of type '{0}' containing '{1}' in the message.",
                    innerExceptionType,
                    innerExceptionMessagePart));
    }
    catch (Exception e)
    {
        Assert.Equal(typeof(SampleTestTokenValidationException), e.GetType());
        Assert.Equal(innerExceptionType, e.InnerException.GetType());

        if (!string.IsNullOrEmpty(innerExceptionMessagePart))
        {
            Assert.Contains(innerExceptionMessagePart, e.InnerException.Message);
        }
    }
}

[Fact]
public void TokenWithoutSignature()
{
    var testTokenCreator = new TestTokenCreator();
    AssertValidationException(
        testTokenCreator.CreateTokenWithNoSignature,
        typeof(ArgumentException),
        "IDX14111");
}

Remarques

Microsoft. IdentityModel.SampleTests.SampleTokenValidationClassTests contient des exemples pour savoir comment cette classe peut être exploitée pour valider une classe de validation de jeton triviale qui dépend de Microsoft. Méthodes de validation des jetons d'IdentityModel.

Constructeurs

Nom Description
TestTokenCreator()

Classe responsable de la création de jetons de test à utiliser dans les implémentations de tests unitaires en fonction de Microsoft. Validation du jeton IdentityModel.

Propriétés

Nom Description
Audience

Obtient ou définit l’audience à marquer sur les jetons créés.

Issuer

Obtient ou définit l’émetteur à marquer sur les jetons créés.

SigningCredentials

Obtient ou définit les SignCredentials utilisés pour signer les jetons créés.

Méthodes

Nom Description
CreateClaimsSetWithInstanceOverrides()

Crée un jeu de revendications par défaut basé sur les valeurs d’instance.

CreateDefaultValidToken()

Crée un jeton de test valide par défaut basé sur les valeurs et SigningCredentials les valeurs de IssuerAudience la classe.

CreateExpiredToken()

Crée un jeton JWS de test passé son expiration.

CreateJsonPayload(IDictionary<String,Object>)

Crée une charge utile JSON basée sur les revendications passées IDictionary<TKey,TValue>.

CreateNotYetValidToken()

Crée un jeton JWS de test qui n’est pas encore valide.

CreateToken(Dictionary<String,Object>)

Crée un jeton basé sur le passé Dictionary<TKey,TValue>.

CreateToken(SecurityTokenDescriptor)

Crée un jeton basé sur le passé SecurityTokenDescriptor.

CreateTokenDescriptorWithInstanceOverrides()

Crée une valeur par défaut SecurityTokenDescriptor basée sur les valeurs d’instance.

CreateTokenWithBadAudience()

Crée un jeton JWS de test avec un public qui ne correspond pas à la valeur d’instance configurée.

CreateTokenWithBadIssuer()

Crée un jeton JWS de test avec un émetteur qui ne correspond pas à la valeur d’instance configurée.

CreateTokenWithBadSignatureKey()

Crée un jeton JWS de test signé avec une clé qui ne correspond pas à la valeur d’instance configurée.

CreateTokenWithFutureIssuedAt()

Crée un jeton JWS de test qui est émis à l’avenir.

CreateTokenWithInvalidSignature()

Crée un jeton de test avec une signature qui ne correspond pas à la charge utile.

CreateTokenWithMissingAudience()

Crée un jeton JWS de test avec une revendication d’audience manquante (aud).

CreateTokenWithMissingExpires()

Crée un jeton JWS de test avec une revendication expiration (exp) manquante.

CreateTokenWithMissingIssuedAt()

Crée un jeton JWS de test avec une revendication IssuedAt (iat) manquante.

CreateTokenWithMissingIssuer()

Crée un jeton JWS de test avec une revendication d’émetteur manquante (iss).

CreateTokenWithMissingKey()

Crée un jeton JWS de test sans clé de signature (c’est-à-dire alg=none, aucune signature).

CreateTokenWithMissingNotBefore()

Crée un jeton JWS de test avec une revendication NotBefore (nbf) manquante.

CreateTokenWithNoSignature()

Crée un jeton JWS de test sans signature.

S’applique à