private async Task <AuthorizationPolicyResult> Validate(TicketLineParameter ticketLineParameter, ResourceSet resource, ClaimTokenParameter claimTokenParameter) { if (resource.Policies == null || !resource.Policies.Any()) { return(new AuthorizationPolicyResult { Type = AuthorizationPolicyResultEnum.Authorized }); } foreach (var authorizationPolicy in resource.Policies) { var result = await _basicAuthorizationPolicy.Execute(ticketLineParameter, authorizationPolicy, claimTokenParameter); if (result.Type == AuthorizationPolicyResultEnum.Authorized) { return(result); } } return(new AuthorizationPolicyResult { Type = AuthorizationPolicyResultEnum.NotAuthorized }); }
public async Task <AuthorizationPolicyResult> IsAuthorized(Ticket validTicket, string clientId, List <ClaimTokenParameter> claimTokenParameters) { if (validTicket == null) { throw new ArgumentNullException(nameof(validTicket)); } if (string.IsNullOrWhiteSpace(clientId)) { throw new ArgumentNullException(nameof(clientId)); } var resourceSet = await _resourceSetRepository.Get(validTicket.ResourceSetId); if (resourceSet == null) { throw new BaseUmaException(ErrorCodes.InternalError, string.Format(ErrorDescriptions.TheResourceSetDoesntExist, validTicket.ResourceSetId)); } if (resourceSet.Policies == null || !resourceSet.Policies.Any()) { return(new AuthorizationPolicyResult { Type = AuthorizationPolicyResultEnum.Authorized }); } foreach (var authorizationPolicy in resourceSet.Policies) { var result = await _basicAuthorizationPolicy.Execute(validTicket, authorizationPolicy, claimTokenParameters); if (result.Type != AuthorizationPolicyResultEnum.Authorized) { _umaServerEventSource.AuthorizationPolicyFailed(authorizationPolicy.Id); return(result); } } return(new AuthorizationPolicyResult { Type = AuthorizationPolicyResultEnum.Authorized }); }
public async Task When_Passing_Null_Parameters_Then_Exceptions_Are_Thrown() { // ARRANGE InitializeFakeObjects(); // ACTS & ASSERTS await Assert.ThrowsAsync <ArgumentNullException>(() => _basicAuthorizationPolicy.Execute(null, null, null, null)); await Assert.ThrowsAsync <ArgumentNullException>(() => _basicAuthorizationPolicy.Execute("openid", null, null, null)); await Assert.ThrowsAsync <ArgumentNullException>(() => _basicAuthorizationPolicy.Execute("openid", new ResourceSet(), null, null)); }
public void When_Passing_Null_Parameters_Then_Exceptions_Are_Thrown() { // ARRANGE InitializeFakeObjects(); // ACTS & ASSERTS Assert.ThrowsAsync <ArgumentNullException>(() => _basicAuthorizationPolicy.Execute(null, null, null)); Assert.ThrowsAsync <ArgumentNullException>(() => _basicAuthorizationPolicy.Execute(new Ticket(), null, null)); }
private Task <ResourceValidationResult> Validate(string openidProvider, TicketLineParameter ticketLineParameter, ResourceSet resource, ClaimTokenParameter claimTokenParameter) { return(_basicAuthorizationPolicy.Execute(openidProvider, resource, ticketLineParameter, claimTokenParameter)); }