public void Store(IHttpResponseDescriptor response, Uri requestUri, Token token) { var cookie = new Cookie(); if (Secure) { cookie.Secure = true; } cookie.Path = "/"; cookie.HttpOnly = true; cookie.Domain = GetDomain(requestUri); cookie.Name = CookieName; if (null == token) { cookie.Expires = DateTime.Now.AddYears(-1); cookie.Value = ""; } else { cookie.Expires = token.Expire.AddMinutes(5); cookie.Value = TokenEncryptor.Encrypt(token); } response.Cookies = response.Cookies ?? new CookieCollection(); response.Cookies.Add(cookie); }
public void Authenticate(IHttpRequestDescriptor request, IHttpResponseDescriptor response) { var identity = (Identity)IdentitySource.GetUserIdentity(request); request.User = new GenericPrincipal(identity, null); var token = identity.IsAuthenticated ? identity.Token : null; if (identity.IsAuthenticated) { if (OpLog.IsForDebug()) { OpLog.Debug(new { isauth = true, login = identity.Name, url = request.Uri.ToString() }.stringify()); } } else { if (null == identity.DisabledToken) { if (OpLog.IsForDebug()) { OpLog.Debug(new { isauth = false, login = identity.Name, url = request.Uri.ToString() }.stringify()); } } else { if (OpLog.IsForInfo()) { OpLog.Info(new { isauth = false, login = identity.Name, url = request.Uri.ToString(), disabledtoken = identity.DisabledToken }.stringify()); } } } TokenService.Store(response, request.Uri, token); }
/// <summary> /// Sends the <see cref="HttpRequestMessage"/> /// </summary> /// <returns>The resulting <see cref="HttpStatusCode"/></returns> protected async Task <int> RequestAsync() { using (HttpRequestMessage request = new HttpRequestMessage(this.Method, this.Uri)) { this.Headers?.Invoke(request.Headers); request.Content = await this.Content?.CloneAsync(); using (HttpResponseMessage response = await this.HttpClient.SendAsync(request)) { if (this.ParseResponse) { this.Response = await this.HttpResponseParser.ParseAsync(response); } if (this.EnsureSuccessStatusCode) { response.EnsureSuccessStatusCode(); } return((int)response.StatusCode); } } }