// Token: 0x0600027F RID: 639 RVA: 0x0001122C File Offset: 0x0000F42C private static bool CheckClaimSetsForTOUClaims(OperationContext operationContext, ReadOnlyCollection <ClaimSet> claimSets, bool checkConsumerClaims) { string claimTypeToTest = checkConsumerClaims ? "http://schemas.xmlsoap.org/claims/ConsumerChild" : "http://schemas.xmlsoap.org/claims/Child"; string claimTypeToTest2 = checkConsumerClaims ? "http://schemas.xmlsoap.org/claims/ConsumerTOUAccepted" : "http://schemas.xmlsoap.org/claims/TOUAccepted"; string claimTypeToTest3 = checkConsumerClaims ? "http://schemas.xmlsoap.org/claims/ConsumerConsentLevel" : "http://schemas.xmlsoap.org/claims/ConsentLevel"; AutodiscoverAuthorizationManager.ConsentLevel?consentLevel = null; bool?flag = null; bool?flag2 = null; foreach (ClaimSet claimSet in claimSets) { foreach (Claim claim in claimSet) { if (AutodiscoverAuthorizationManager.DoesClaimMatch(claim, claimTypeToTest, Rights.PossessProperty)) { flag = AutodiscoverAuthorizationManager.ProcessTrueFalseClaim(claim); } else if (AutodiscoverAuthorizationManager.DoesClaimMatch(claim, claimTypeToTest2, Rights.PossessProperty)) { flag2 = AutodiscoverAuthorizationManager.ProcessTrueFalseClaim(claim); } else if (AutodiscoverAuthorizationManager.DoesClaimMatch(claim, claimTypeToTest3, Rights.PossessProperty)) { consentLevel = AutodiscoverAuthorizationManager.ProcessConsentLevelClaim(claim); } if (flag != null && flag2 != null && (!flag.Value || consentLevel != null)) { break; } } if (flag != null && flag2 != null && (!flag.Value || consentLevel != null)) { break; } } if (checkConsumerClaims && flag == null && flag2 == null && consentLevel == null) { return(false); } if (flag == null) { return(AutodiscoverAuthorizationManager.Return401UnauthorizedResponse(operationContext, "Didn't find child claim")); } if (flag2 == null) { return(AutodiscoverAuthorizationManager.Return401UnauthorizedResponse(operationContext, "Didn't find TOU claim")); } if (flag.Value && consentLevel == null) { return(AutodiscoverAuthorizationManager.Return401UnauthorizedResponse(operationContext, "Didn't find consent level claim for child")); } if (!flag2.Value) { return(AutodiscoverAuthorizationManager.Return401UnauthorizedResponse(operationContext, "TOU was not accepted")); } return(!flag.Value || consentLevel.Value != AutodiscoverAuthorizationManager.ConsentLevel.None || AutodiscoverAuthorizationManager.Return401UnauthorizedResponse(operationContext, "Child with no consent")); }