public static async Task <Cookie> GetCookieAsync(KitosCredentials userCredentials) { if (CookiesCache.TryGetValue(userCredentials.Username, out var cachedCookie)) { return(cachedCookie); } var url = TestEnvironment.CreateUrl("api/authorize"); var loginDto = ObjectCreateHelper.MakeSimpleLoginDto(userCredentials.Username, userCredentials.Password); var request = CreatePostMessage(url, loginDto); var cookieResponse = await SendWithCSRFToken(request); Assert.Equal(HttpStatusCode.Created, cookieResponse.StatusCode); var cookieParts = cookieResponse.Headers.First(x => x.Key == "Set-Cookie").Value.First().Split('='); var cookieName = cookieParts[0]; var cookieValue = cookieParts[1].Split(';')[0]; var cookie = new Cookie(cookieName, cookieValue) { Domain = url.Host }; CookiesCache.TryAdd(userCredentials.Username, cookie); return(cookie); }
private static async Task <GetTokenResponseDTO> GetTokenAsync(KitosCredentials userCredentials) { if (TokenCache.TryGetValue(userCredentials.Username, out var cachedToken)) { return(cachedToken); } var url = TestEnvironment.CreateUrl("api/authorize/GetToken"); var loginDto = ObjectCreateHelper.MakeSimpleLoginDto(userCredentials.Username, userCredentials.Password); using var httpResponseMessage = await PostForKitosToken(url, loginDto); var tokenResponseDtoAsync = await GetTokenResponseDtoAsync(loginDto, httpResponseMessage); TokenCache.TryAdd(userCredentials.Username, tokenResponseDtoAsync); return(tokenResponseDtoAsync); }
public AuthorizationTests() { _regularApiUser = TestEnvironment.GetCredentials(OrganizationRole.User, true); _globalAdmin = TestEnvironment.GetCredentials(OrganizationRole.GlobalAdmin); _getTokenUrl = TestEnvironment.CreateUrl("api/authorize/GetToken"); }