using System; using System.Linq; using Newtonsoft.Json; namespace Icarus.Models { public class Token { #region Properties [JsonProperty("scope")] public string Scope { get; set; } [JsonProperty("exp")] public int Expiration { get; set; } [JsonProperty("aud")] public string Audience { get; set; } [JsonProperty("iss")] public string Issuer { get; set; } [JsonProperty("iat")] public int Issued { get; set; } #endregion #region Methods public bool TokenExpired() { var result = false; var currentDate = DateTime.Now; var currentDateInSeconds = Math.Floor((currentDate - DateTime.UnixEpoch).TotalSeconds); result = (currentDateInSeconds >= Expiration) ? true : false; return result; } public bool ContainsScope(string desiredScope) { var result = false; result = Scope.Contains(desiredScope); return result; } #endregion } }