private ClaimsIdentity CreateClaimsIdentity(UserClaimsData userClaimsData) { var claimsIdentity = new ClaimsIdentity(); // Issue custom claims claimsIdentity.Claims.Add(new Claim(ClaimTypes.Name, userClaimsData.Username)); claimsIdentity.Claims.AddRange(userClaimsData.Claims); return claimsIdentity; }
protected override void EstablishContext() { base.EstablishContext(); suppliedApplicationClaims = GetApplicationClaims(); Expect.Call(claimsIdentity.IsAuthenticated).Return(true); httpContextItemsProvider.Expect(x => x.Add(null, null)).IgnoreArguments(); claimsIdentity.Expect(x => x.Name).Return(userName); Expect.Call(staffInformationFromEmailProvider.ResolveStaffUSI(EMAIL)).Return(staffUSI); Expect.Call(userClaimsProvider.GetApplicationSpecificClaims(userName, staffUSI)).Return(suppliedApplicationClaims); suppliedImpersonatedClaims = GetSuppliedImpersonatedClaims(); var userData = new UserClaimsData() { Claims = suppliedImpersonatedClaims, Username = userName }; Expect.Call(getImpersonatedClaimsDataProvider.IsImpersonating()).Return(true); Expect.Call(getImpersonatedClaimsDataProvider.GetImpersonatedClaimsData(suppliedApplicationClaims)).Return(userData); ClaimsIssuedTrackingEventProvider.Expect(x => x.Track(userName, staffUSI, false, suppliedImpersonatedClaims)); }
protected virtual void VerifyUserClaimsData(UserClaimsData userClaimData) { Assert.That(userClaimData.Username, Is.EqualTo(targetedUsername)); Assert.That(userClaimData.StaffUSI, Is.EqualTo(Convert.ToInt64( staffUSIToImpersonate))); var testThisOut1 = userClaimData.Claims.Select(x => x.ToString()).ToList(); var testThisOut2 = GetApplicationSpecificClaims().Select(x => x.ToString()).ToList(); CollectionAssert.IsSubsetOf(testThisOut2, testThisOut1); }