add(refreshTokenService):完善刷新令牌服务
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
using System.Security.Claims;
|
||||
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface IJWTService
|
||||
{
|
||||
/// <summary>
|
||||
/// 生成用户凭证
|
||||
/// </summary>
|
||||
/// <param name="claims">负载</param>
|
||||
/// <param name="expiresAt">过期时间</param>
|
||||
/// <returns></returns>
|
||||
string GenerateAccessToken(IEnumerable<Claim> claims, DateTime expiresAt);
|
||||
/// <summary>
|
||||
/// 创建用户凭证
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
(string token, DateTime expiresAt) CreateAccessTokenForUser(int userId,string username,string role);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
namespace IM_API.Interface.Services
|
||||
{
|
||||
public interface IRefreshTokenService
|
||||
{
|
||||
/// <summary>
|
||||
/// 创建刷新令牌
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <param name="ct"></param>
|
||||
/// <returns></returns>
|
||||
Task<string> CreateRefreshTokenAsync(int userId, CancellationToken ct = default);
|
||||
/// <summary>
|
||||
/// 验证刷新令牌
|
||||
/// </summary>
|
||||
/// <param name="token">刷新令牌</param>
|
||||
/// <param name="ct"></param>
|
||||
/// <returns></returns>
|
||||
Task<(bool ok, int userId)> ValidateRefreshTokenAsync(string token, CancellationToken ct = default);
|
||||
/// <summary>
|
||||
/// 删除更新令牌
|
||||
/// </summary>
|
||||
/// <param name="token">刷新令牌</param>
|
||||
/// <param name="ct"></param>
|
||||
/// <returns></returns>
|
||||
Task RevokeRefreshTokenAsync(string token, CancellationToken ct = default);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user