using System; using System.Collections.Generic; using System.Collections.Immutable; using System.IdentityModel.Tokens.Jwt; using System.Linq; using System.Security.Claims; using System.Text; using System.Threading.Tasks; namespace HuanMeng.DotNetCore.JwtInfrastructure.Interface { /// /// jwt帮助类 /// public interface IJwtAuthManager { /// /// 用户刷新令牌只读词典 /// IImmutableDictionary UsersRefreshTokensReadOnlyDictionary { get; } /// /// 生成令牌 /// /// 用户名 /// 用户的有关信息 /// /// JwtAuthResult GenerateTokens(string username, Claim[] claims, DateTime now); /// /// 刷新令牌 /// /// /// /// /// JwtAuthResult Refresh(string refreshToken, string accessToken, DateTime now); /// /// 删除过期的刷新令牌 /// /// void RemoveExpiredRefreshTokens(DateTime now); /// /// 按用户名删除刷新令牌 /// /// void RemoveRefreshTokenByUserName(string userName); /// /// 解码JwtToken /// /// /// (ClaimsPrincipal, JwtSecurityToken?) DecodeJwtToken(string token); } }