namespace DataApi.Services
public class TokenDataService
private static readonly string[] TokenColumns =
"TokenId", "UserId", "AuthToken", "IssuedOn", "ExpiresOn"
public void Add(Token token)
var tokenInfo = new WebApiTokenInfo
AuthToken = Guid.Parse(token.AuthToken),
IssuedOn = token.IssuedOn,
ExpiresOn = token.ExpiresOn
WebApiTokenInfoProvider.SetWebApiTokenInfo(tokenInfo);
public void Update(Token token)
var tokenInfo = FindByAuthToken(token);
tokenInfo.ExpiresOn = token.ExpiresOn;
WebApiTokenInfoProvider.SetWebApiTokenInfo(tokenInfo);
public void Delete(Token token)
var tokenInfo = FindByAuthToken(token);
WebApiTokenInfoProvider.DeleteWebApiTokenInfo(tokenInfo);
public Token Get(string authToken)
var tokenInfo = FindByAuthToken(authToken);
TokenId = tokenInfo.TokenId,
UserId = tokenInfo.UserId,
AuthToken = tokenInfo.AuthToken.ToString(),
IssuedOn = tokenInfo.IssuedOn,
ExpiresOn = tokenInfo.ExpiresOn
private static WebApiTokenInfo FindByAuthToken(Token token)
Guard.ArgumentNotNull(token, "token");
return FindByAuthToken(token.AuthToken);
private static WebApiTokenInfo FindByAuthToken(string authToken)
Guard.ArgumentNotNull(authToken, "authToken");
return WebApiTokenInfoProvider.GetWebApiTokens()
.Where("AuthToken", QueryOperator.Equals, Guid.Parse(authToken))