示例#1
0
        public async Task ValidateToken()
        {
#if !DEBUG
            var request  = System.Web.HttpContext.Current.Request;
            var authInfo = new AuthenticationInformationEntity()
            {
                UserId = request.Headers.GetValues("user")[0]
            };
            if (Request.Headers.Authorization != null)
            {
                authInfo.AuthToken  = Request.Headers.Authorization.Parameter;
                authInfo.AuthMethod = Request.Headers.Authorization.Scheme;
            }
            await _authenticationService.ValidateToken(authInfo);
#endif
        }
示例#2
0
        public static void ValidateToken(AuthenticationInformationEntity authInfo)
        {
            if (authInfo != null && !String.IsNullOrEmpty(authInfo.AuthToken))
            {
                AuthenticationControlEntity authControl = AuthenticationControlRepository.Get().GetAuthControl(new Guid(authInfo.UserId), new Guid(authInfo.AuthToken));

                if (authControl == null)
                {
                    throw new ExceptionWithHttpStatus(System.Net.HttpStatusCode.Unauthorized, Messages.INVALID_AUTHORIZATION);
                }

                if (!authControl.KeepAlive && (DateTime.Now.Subtract(authControl.RegisterDate)).TotalHours > Settings.AuthenticationExpirationHours)
                {
                    AuthenticationControlRepository.Get().DeleteAuthControl(authControl.UserId, authControl.Token);
                    throw new ExceptionWithHttpStatus(System.Net.HttpStatusCode.Unauthorized, Messages.EXPIRED_AUTHORIZATION);
                }
            }
            else
            {
                throw new ExceptionWithHttpStatus(System.Net.HttpStatusCode.Unauthorized, Messages.INVALID_AUTHORIZATION);
            }
        }
示例#3
0
 public async Task ValidateToken(AuthenticationInformationEntity authInfo)
 {
     AuthenticationBusiness.ValidateToken(authInfo);
 }