public void MismatchTokenBetweenAppsWhenAppSignedRequestThrows() { IAppIdentity appIdentityMaster = AutonomousAppIdentity.Master; IAutonomousApp clientAppMaster = AutonomousApp.Initialize(CachePolicy.BypassCache) .RoutingTo(TestingEndpointProvider.Default) .WithIdentity(appIdentityMaster) .Authenticate() .GetClient(); Assert.That(clientAppMaster, Is.Not.Null); Assert.That(clientAppMaster.AuthToken, Is.Not.Null); Assert.That(clientAppMaster.AuthToken.Token, Is.Not.Null); IAppIdentity appIdentityHelper = AutonomousAppIdentity.Helper; IAutonomousApp clientAppHelper = AutonomousApp.Initialize(CachePolicy.BypassCache) .RoutingTo(TestingEndpointProvider.Default) .WithIdentity(appIdentityHelper) .Authenticate() .GetClient(); Assert.That(clientAppHelper, Is.Not.Null); Assert.That(clientAppHelper.AuthToken, Is.Not.Null); Assert.That(clientAppHelper.AuthToken.Token, Is.Not.Null); IPayloadClaimsManager mismatchTokenClaimBehavior = InvalidTokenPayloadClaim.WithClaimBehavior(() => clientAppHelper.AuthToken.Token); ServiceLocator.Instance.RegisterPayloadClaimsManager(mismatchTokenClaimBehavior); AspenException exception = Assert.Throws <AspenException>(() => clientAppMaster.Settings.GetDocTypes()); Assert.That(exception.EventId, Is.EqualTo("15846")); Assert.That(exception.StatusCode, Is.EqualTo(HttpStatusCode.Unauthorized)); StringAssert.IsMatch("No coinciden los datos recibidos del token vs los valores esperados. ¿Se modificaron los valores en tránsito o está utilizando el ApiKey en otra aplicación?", exception.Message); }
public void MissingTokenWhenSignedRequestThrows() { IAutonomousApp client = this.GetAutonomousClient(); ServiceLocator.Instance.RegisterPayloadClaimsManager(InvalidTokenPayloadClaim.AvoidingClaim()); AspenException exception = Assert.Throws <AspenException>(() => client.Settings.GetDocTypes()); Assert.That(exception.EventId, Is.EqualTo("15852")); Assert.That(exception.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest)); StringAssert.IsMatch("'Token' no puede ser nulo ni vacío", exception.Message); }
public void InvalidFormatTokenWhenSignedRequestThrows() { IDelegatedApp client = this.GetDelegatedClient(); IPayloadClaimsManager invalidFormatBehavior = InvalidTokenPayloadClaim.WithClaimBehavior(() => "gXjyhrYqannHUA$LLV&7guTHmF&1X5JB$Uobx3@!rPn9&x4BzE"); ServiceLocator.Instance.RegisterPayloadClaimsManager(invalidFormatBehavior); AspenException exception = Assert.Throws <AspenException>(() => client.Settings.GetDocTypes()); Assert.That(exception.EventId, Is.EqualTo("20007")); Assert.That(exception.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest)); StringAssert.IsMatch("El contenido de la cabecera personalizada 'X-PRO-Auth-Payload' no es válido", exception.Message); }
public void MissingTokenWhenSignedRequestThrows() { IDelegatedApp client = DelegatedApp.Initialize(CachePolicy.BypassCache) .RoutingTo(TestingEndpointProvider.Default) .WithIdentity(DelegatedAppIdentity.Master) .Authenticate(RecognizedUserIdentity.Master) .GetClient(); // Se intenta usar una operación que requiere el token de autenticación. ServiceLocator.Instance.RegisterPayloadClaimsManager(InvalidTokenPayloadClaim.AvoidingClaim()); AspenException exception = Assert.Throws <AspenException>(() => client.Settings.GetDocTypes()); Assert.That(exception.EventId, Is.EqualTo("15852")); Assert.That(exception.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest)); StringAssert.IsMatch("'Token' no puede ser nulo ni vacío", exception.Message); }
public void NullOrEmptyTokenWhenSignedRequestThrows() { IAutonomousApp client = this.GetAutonomousClient(); IList <IPayloadClaimsManager> tokenClaimBehaviors = new List <IPayloadClaimsManager>() { InvalidTokenPayloadClaim.WithClaimBehavior(() => null), InvalidTokenPayloadClaim.WithClaimBehavior(() => string.Empty), InvalidTokenPayloadClaim.WithClaimBehavior(() => " ") }; foreach (IPayloadClaimsManager behavior in tokenClaimBehaviors) { ServiceLocator.Instance.RegisterPayloadClaimsManager(behavior); AspenException exception = Assert.Throws <AspenException>(() => client.Settings.GetDocTypes()); Assert.That(exception.EventId, Is.EqualTo("15852")); Assert.That(exception.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest)); StringAssert.IsMatch("'Token' no puede ser nulo ni vacío", exception.Message); } }
public void NullOrEmptyTokenWhenSignedRequestThrows() { IDelegatedApp client = DelegatedApp.Initialize(CachePolicy.BypassCache) .RoutingTo(TestingEndpointProvider.Default) .WithIdentity(DelegatedAppIdentity.Master) .Authenticate(RecognizedUserIdentity.Master) .GetClient(); IList <IPayloadClaimsManager> payloadBehaviors = new List <IPayloadClaimsManager>() { InvalidTokenPayloadClaim.WithClaimBehavior(() => null), InvalidTokenPayloadClaim.WithClaimBehavior(() => string.Empty), InvalidTokenPayloadClaim.WithClaimBehavior(() => " ") }; foreach (IPayloadClaimsManager behavior in payloadBehaviors) { ServiceLocator.Instance.RegisterPayloadClaimsManager(behavior); AspenException exception = Assert.Throws <AspenException>(() => client.Settings.GetDocTypes()); Assert.That(exception.EventId, Is.EqualTo("15852")); Assert.That(exception.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest)); StringAssert.IsMatch("'Token' no puede ser nulo ni vacío", exception.Message); } }