Пример #1
0
        public bool Authorized()
        {
            if (_cachedUser != null)
            {
                return(true);
            }

            var ticketToken = GetRequestTicketToken();

            if (ticketToken == null || ticketToken.Length < TOKEN_LENTH)
            {
                return(false);
            }

            var token = ticketToken.Substring(TOKEN_LENTH);

            if (_oAuthProvider.ValidateTokenRequest(token))
            {
                return(true);
            }

            var ticket = ticketToken.Substring(0, TOKEN_LENTH);
            var exUser = GetAuthenticatedUserByTicket(ticket);

            if (exUser == null || !exUser.AccessToken.Equals(token, StringComparison.OrdinalIgnoreCase))
            {
                return(false);
            }

            _oAuthProvider.ReplaceToken(30, exUser.AccessToken, exUser.Id.ToString());
            _cachedUser = exUser;
            return(true);
        }