public TokenSalt GetSalt(string token) { var decoded = _backpack.Decode(token); var versionPosition = Convert.ToInt32(decoded[2].ToString()); var saltPosition = Convert.ToInt32($"{decoded[versionPosition + 1]}{decoded[versionPosition + 2]}"); var dataPosition = Convert.ToInt32($"{decoded[versionPosition + 3]}{decoded[versionPosition + 4]}"); var dataLength = Convert.ToInt32($"{decoded[versionPosition + 5]}{decoded[versionPosition + 6]}"); var salt = decoded.Substring(saltPosition, _settings.SaltLength); var data = decoded.Substring(dataPosition, dataLength); var timestamp = decoded.Substring(dataPosition + _settings.DataMaxlength - _TIMESTAMP_LENGTH, _TIMESTAMP_LENGTH); return(new TokenSalt(salt, data, int.Parse(timestamp, NumberStyles.HexNumber), versionPosition, saltPosition, dataPosition, dataLength)); }
protected void EvaluateAutoTokens(EvaluateFor <TPart> evaluate) { evaluate .Token((token, defaultData) => { var tokenParts = _tokenEncoder.Decode(token); if (tokenParts == null) { return(null); } var part = GetByTitle(tokenParts.Prefix); if (part == null) { return(null); } return(part.Retrieve <string>(tokenParts.SubToken)); }); }
public ClaimsPrincipal ValidateUser(string token) { var jwtPayload = tokenGenerator.Decode(token); if (jwtPayload.Expire < DateTime.UtcNow) { return(null); } if (queryProcessor.Query(new FindUserQuery(jwtPayload.UserId)).Result == null) { return(null); } return(new ClaimsPrincipal(new [] { new ClaimsIdentity( new CustomIdentity(jwtPayload.UserId.ToString()), jwtPayload.Claims.Select(x => new Claim(x.Key, x.Value)) ) })); }