public async Task SetBearerTokenFromOAuth(Uri siteUrl, string Username, string Password) { OAuthTokenObject response = await GetBearerTokenFromOAuth(siteUrl, Username, Password); if (response != null) { SaveTokenToSession(response); } }
private void SaveTokenToSession(OAuthTokenObject token) { if (System.Web.HttpContext.Current.Session != null) { token.issued = System.DateTime.UtcNow; token.expires = token.issued.AddSeconds(token.expires_in); //System.Web.HttpContext.Current.Session[tokenKey] = token; _context.Session.Add(tokenKey, token.access_token); } }
internal async Task <OAuthTokenObject> GetBearerTokenFromOAuth(Uri siteUrl, string Username, string Password) { try { HttpContent requestContent = new StringContent("grant_type=password&username="******"&password="******"application/x-www-form-urlencoded"); HttpResponseMessage responseMessage = await client.PostAsync(siteUrl, requestContent); if (responseMessage.IsSuccessStatusCode) { OAuthTokenObject response = await responseMessage.Content.ReadAsAsync <OAuthTokenObject>(); return(response); } } catch (Exception ex) { InvalidOperationException iex = new InvalidOperationException("error with token retrieval for user " + Username, ex); throw iex; } return(null); }