Example #1
0
        public CardDetail GetCardDetail(int expectedEmployerId, string token)
        {
            var cardToken = JsonConvert.DeserializeObject <CardToken>(JwtService.DecryptPayload(token));

            if (cardToken.Expires < DateTime.UtcNow)
            {
                LogUtil.Log(string.Format("Expired session token {0}", token), LogLevel.Info);
                return(new CardDetail()
                {
                    Expired = true
                });
            }

            if (!cardToken.EmployerId.Equals(expectedEmployerId))
            {
                LogUtil.Log(string.Format("Expected employer {0} and got employer {1} from token {2}.",
                                          expectedEmployerId, cardToken.EmployerId, token), LogLevel.Warn);
                return(new CardDetail()
                {
                    Invalid = true
                });
            }

            LogUtil.Trace(string.Format("Resolved token {0} for employer {1}.",
                                        token, cardToken.EmployerId));

            return(cardToken.CardDetail);
        }
Example #2
0
        public void CanGetCardTokens()
        {
            var service = new CardService();
            var results = service.GetMemberCardUrls("en", 11, 57020);

            Assert.IsNotNull(results);
            Assert.AreNotEqual(0, results.TotalCount);

            results.Results.ForEach(c => {
                var cardToken = JsonConvert.DeserializeObject <CardToken>(JwtService.DecryptPayload(c.SecurityToken));
                Debug.WriteLine(c.SecurityToken);
                Assert.IsNotNull(cardToken);
                Assert.IsNotNull(cardToken.CardDetail);
                Assert.IsFalse(string.IsNullOrEmpty(cardToken.CardDetail.CardTypeFileName));
                Assert.IsTrue(DateTime.UtcNow < cardToken.Expires);
                Assert.AreNotEqual(0, cardToken.CardDetail.CardTypeId);
                Assert.AreNotEqual(0, cardToken.CardDetail.CardViewModeId);
            });
        }