コード例 #1
0
 private void SetTokenData(string BrowserCapabilities, string IpAddress, string hostUrl)
 {
     token = new JWT.Auth.Entities.Token();
     token.BrowserCapabilities = BrowserCapabilities;
     token.Ip             = IpAddress;
     token.CreatedDate    = DateTime.UtcNow;
     token.ExpirationDate = DateTime.UtcNow.AddHours(appSettings.ExpireAfterHours);
     token.SecurityTypeId = (byte)SecurityTypes.HmacSha256;
     token.SystemName     = hostUrl;
     token.UserId         = userId;
     token.Issuer         = appSettings.Issuer;
     token.Audience       = appSettings.Audience;
 }
コード例 #2
0
        public async Task <string> GetToken(string BrowserCapabilities, string IpAdderess, string HostUrl, bool IsGenerateNewToken = false)
        {
            if (!IsGenerateNewToken)
            {
                token = await GetTokenByUserId(IsGenerateNewToken);
            }

            if (token == null)
            {
                SetTokenData(BrowserCapabilities, IpAdderess, HostUrl);

                token.TokenKey = GenerateNewToken();

                await context.Token.AddAsync(token);

                await context.SaveChangesAsync();
            }

            return(token.TokenKey);
        }
コード例 #3
0
        public async Task <bool> IsTokenValid()
        {
            token = await this.GetToken();

            return((token != null && token.ExpirationDate > DateTime.UtcNow) ? true : false);
        }
コード例 #4
0
 public JwtTokenModule(string TokenKey, JWTAuthContext Context)
 {
     token          = new JWT.Auth.Entities.Token();
     token.TokenKey = TokenKey;
     context        = Context;
 }