コード例 #1
0
        private static TokenHolder CreateToken(EmployeeToken employeeInfo)
        {
            if (employeeInfo.VerifyObjectNull(throwEdit: false))
            {
                throw new EditException()
                      {
                          Edits = (new List <Edit>()
                    {
                        new Edit()
                        {
                            FieldName = "Invalid Data", Message = "Data should not be null."
                        }
                    })
                      };
            }

            TokenHolder tokenHolder = new TokenHolder();
            var         currentTime = (long)(DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime()).TotalSeconds;
            var         payload     = new Dictionary <string, object>();

            payload.Add("userInfo", employeeInfo);
            payload.Add("exp", currentTime + EXPIRYTIME);

            IJwtAlgorithm     algorithm  = new HMACSHA256Algorithm();
            IJsonSerializer   serializer = new JsonNetSerializer();
            IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder();
            IJwtEncoder       encoder    = new JwtEncoder(algorithm, serializer, urlEncoder);

            tokenHolder.AccessToken = encoder.Encode(payload, SECRETKEY);

            var refreshPayload = new Dictionary <string, object>();

            refreshPayload.Add("userInfo", employeeInfo);
            refreshPayload.Add("CurrentDate", DateTime.Now.ToString());

            tokenHolder.RefreshToken = encoder.Encode(payload, REFRESHSECRETKEY);
            return(tokenHolder);
        }
コード例 #2
0
 public EmployeeToken DecodeToken(string token)
 {
     if (string.IsNullOrEmpty(token))
     {
         throw new EditException()
               {
                   Edits = (new List <Edit>()
             {
                 new Edit()
                 {
                     FieldName = "Token", Message = "Invalid Token."
                 }
             })
               };
     }
     else
     {
         EmployeeToken employeeTokenInfo = TokenManager.DecodeToken(token);
         if (employeeTokenInfo.VerifyObjectNull(throwEdit: false))
         {
             throw new EditException()
                   {
                       Edits = (new List <Edit>()
                 {
                     new Edit()
                     {
                         FieldName = "Token", Message = "Invalid Token."
                     }
                 })
                   };
         }
         else
         {
             return(employeeTokenInfo);
         }
     }
 }