Beispiel #1
0
        /// <summary>
        /// Получить токен для обновления токена авторизации
        /// </summary>
        /// <param name="claimsIdentity">Идентификационные данные</param>
        /// <param name="dateFrom">Дата начала действия токена</param>
        /// <param name="dateExpires">Дата истечения токена</param>
        /// <returns></returns>
        private string GetRefreshToken(ClaimsIdentity claimsIdentity, DateTimeOffset dateFrom, DateTimeOffset dateExpires)
        {
            // создаем JWT Refresh-токен
            var jwtRefresh = new JwtSecurityToken(
                _tokenOptions.Issuer,
                _tokenOptions.Audience,
                notBefore: dateFrom.UtcDateTime,
                claims: claimsIdentity.Claims,
                expires: dateExpires.UtcDateTime,
                signingCredentials: new SigningCredentials(_tokenOptions.GetSymmetricSecurityKeyForRefresh(), SecurityAlgorithm));

            var refreshToken = new JwtSecurityTokenHandler().WriteToken(jwtRefresh);

            return(refreshToken);
        }