public static async Task <CustomerAuthenticationProfile> RefreshUserAuthTicket(AuthTicket authTicket) { var resourceUrl = CustomerAuthTicketUrl.RefreshUserAuthTicketUrl(authTicket.RefreshToken).Url; var authUrl = await GetAuthUrl(authTicket.TenantId.Value).ConfigureAwait(false); var client = new HttpClient { BaseAddress = new Uri(authUrl) }; AppAuthenticator.AddHeader(client); if (authTicket.SiteId.HasValue) { client.DefaultRequestHeaders.Add(Headers.X_VOL_SITE, authTicket.SiteId.Value.ToString()); } var stringContent = JsonConvert.SerializeObject(authTicket); var response = client.PutAsync(resourceUrl, new StringContent(stringContent, Encoding.UTF8, "application/json")).Result; ResponseHelper.EnsureSuccess(response); var userInfo = SetUserAuth(response.Content.ReadAsStringAsync().Result, authTicket.AuthenticationScope, authTicket.TenantId.Value, authTicket.SiteId.Value); return(userInfo); }
public static void DeleteAuth() { if (_auth != null) { var resourceUrl = AuthTicketUrl.DeleteAppAuthTicketUrl(_auth.AppAuthTicket.RefreshToken); var client = new HttpClient { BaseAddress = new Uri(_auth.BaseUrl) }; var response = client.DeleteAsync(resourceUrl.Url).Result; ResponseHelper.EnsureSuccess(response); } }
public static async Task LogoutAsync(AuthTicket authTicket) { var url = GetLogoutUrl(authTicket); var client = new HttpClient { BaseAddress = new Uri(AppAuthenticator.Instance.BaseUrl) }; AppAuthenticator.AddHeader(client); var response = await client.DeleteAsync(url); ResponseHelper.EnsureSuccess(response); }
private async Task AuthenticateAppAsync() { var resourceUrl = AuthTicketUrl.AuthenticateAppUrl(); _log.Info(String.Format("App authentication Url : {0}{1}", BaseUrl, resourceUrl.Url)); var client = new HttpClient { BaseAddress = new Uri(BaseUrl) }; var stringContent = JsonConvert.SerializeObject(_appAuthInfo); var response = await client.PostAsync(resourceUrl.Url, new StringContent(stringContent, Encoding.UTF8, "application/json")); ResponseHelper.EnsureSuccess(response); AppAuthTicket = await response.Content.ReadAsAsync <AuthTicket>(); SetRefreshIntervals(true); }
public static async Task <AuthenticationProfile> AuthenticateAsync(UserAuthInfo authInfo, AuthenticationScope scope, int?id = null) { var resourceUrl = GetResourceUrl(scope, id); var client = new HttpClient { BaseAddress = new Uri(AppAuthenticator.Instance.BaseUrl) }; var stringContent = JsonConvert.SerializeObject(authInfo); AppAuthenticator.AddHeader(client); var response = await client.PostAsync(resourceUrl, new StringContent(stringContent, Encoding.UTF8, "application/json")); ResponseHelper.EnsureSuccess(response); return(SetUserAuth(response.Content.ReadAsStringAsync().Result, scope, null)); }
/// <summary> /// Refresh the application auth ticket using the refresh token /// </summary> private void RefreshAppAuthTicket() { var resourceUrl = AuthTicketUrl.RefreshAppAuthTicketUrl(); _log.Info(String.Format("App authentication refresh Url : {0}{1}", BaseUrl, resourceUrl.Url)); var client = new HttpClient { BaseAddress = new Uri(BaseUrl) }; var authTicketRequest = new AuthTicketRequest { RefreshToken = AppAuthTicket.RefreshToken }; var stringContent = JsonConvert.SerializeObject(authTicketRequest); var response = client.PutAsync(resourceUrl.Url, new StringContent(stringContent, Encoding.UTF8, "application/json")).Result; ResponseHelper.EnsureSuccess(response); AppAuthTicket = response.Content.ReadAsAsync <AuthTicket>().Result; SetRefreshIntervals(false); }
public static CustomerAuthenticationProfile Authenticate(CustomerUserAuthInfo customerUserAuthInfo, int tenantId, int siteId) { var resourceUrl = CustomerAuthTicketUrl.CreateUserAuthTicketUrl().Url; var client = new HttpClient { BaseAddress = new Uri(GetAuthUrl(tenantId)) }; client.DefaultRequestHeaders.Add(Headers.X_VOL_SITE, siteId.ToString()); var stringContent = JsonConvert.SerializeObject(customerUserAuthInfo); AppAuthenticator.AddHeader(client); var response = client.PostAsync(resourceUrl, new StringContent(stringContent, Encoding.UTF8, "application/json")).Result; ResponseHelper.EnsureSuccess(response); return(SetUserAuth(response.Content.ReadAsStringAsync().Result, AuthenticationScope.Customer, tenantId, siteId)); }
public static async Task <AuthenticationProfile> RefreshUserAuthTicketAsync(AuthTicket authTicket, int?id = null) { var resourceUrl = GetResourceRefreshUrl(authTicket, id); var client = new HttpClient { BaseAddress = new Uri(AppAuthenticator.Instance.BaseUrl) }; AppAuthenticator.AddHeader(client); if (authTicket.SiteId.HasValue) { client.DefaultRequestHeaders.Add(Headers.X_VOL_SITE, authTicket.SiteId.Value.ToString()); } var stringContent = JsonConvert.SerializeObject(authTicket); var response = client.PutAsync(resourceUrl, new StringContent(stringContent, Encoding.UTF8, "application/json")).Result; ResponseHelper.EnsureSuccess(response); var userInfo = SetUserAuth(response.Content.ReadAsStringAsync().Result, authTicket.AuthenticationScope); return(userInfo); }