private bool GetCookieUserContext(HttpListenerRequest request, out HttpUserContext userContext) { var authCookie = request.Cookies[CookieName]; var token = authCookie?.Value; if (!string.IsNullOrEmpty(token) && userTokens.TryGet(token, out userContext)) { return(true); } userContext = null; return(false); }
public bool Authorize(HttpListenerRequest request) { // Authorization Cookie var authCookie = request.Cookies[CookieName]; var token = authCookie?.Value; if (!string.IsNullOrEmpty(token) && userTokens.TryGet(token, out var userContext)) { userContext.Restart(); return(true); } // Authorization Header var authHeader = request.Headers.Get("Authorization"); if (authHeader != null) { // Basic Authorization Header if (authHeader.StartsWith("Basic ", StringComparison.OrdinalIgnoreCase)) { var encodedAuth = authHeader.Substring(6).Trim(); var authBytes = Convert.FromBase64String(encodedAuth); var authKey = Encoding.UTF8.GetString(authBytes); var i = authKey.IndexOf(':'); if (i >= 0) { var userCreds = new HttpUserCredentials { Username = authKey.Substring(0, i), Password = authKey.Substring(i + 1), }; userContext = Authorization.Authorize(userCreds); if (userContext != null) { userContext.Restart(); return(true); } } } } return(false); }
public bool TryGet(string taskId, out TaskRunner taskRunner) { return(pool.TryGet(taskId, out taskRunner)); }
public bool TryGet(string sessionId, out ServerSessionBase session) { return(pool.TryGet(sessionId, out session)); }
public bool TryGetSession(string sessionId, out IAgentSession session) { return(pool.TryGet(sessionId, out session)); }