using Kean.Application.Command.ViewModels; namespace Kean.Application.Command.Interfaces { /// /// 表示身份命令服务 /// public interface IIdentityService { /// /// 登录 /// /// 用户视图 /// 远程地址 /// UA 信息 /// 令牌。当用户身份验证成功时,生成 Guid 字符串作为令牌,如果令牌为 string.Empty,则表示用户被禁止操作(冻结);当用户身份验证失败时,返回 null System.Threading.Tasks.Task Login(User user, string remoteIp, string userAgent); /// /// 连接 /// /// 令牌 /// 连接 ID System.Threading.Tasks.Task Connect(string token, string id); /// /// 断开 /// /// 令牌 /// 连接 ID System.Threading.Tasks.Task Disconnect(string token, string id); /// /// 注销 /// /// 令牌 /// 原因 System.Threading.Tasks.Task Logout(string token, string reason); /// /// 根据客户端令牌进行会话状态验证 /// /// 令牌 /// 身份标识。验证失败时为 null System.Threading.Tasks.Task Authenticate(string token); /// /// 导航 /// /// 令牌 /// URL /// 忽略项 /// 操作结果及失败信息 System.Threading.Tasks.Task<(bool Success, Failure Failure)> Navigate(string token, string url, params string[] ignore); /// /// 初始化密码 /// /// 修改视图 /// 操作结果及失败信息 System.Threading.Tasks.Task<(bool Success, Failure Failure)> InitializePassword(Password password); /// /// 修改密码 /// /// 修改视图 /// 操作结果及失败信息 System.Threading.Tasks.Task<(bool Success, Failure Failure)> ModifyPassword(Password password); /// /// 修改头像 /// /// 用户视图 /// 操作结果及失败信息 System.Threading.Tasks.Task<(bool Success, Failure Failure)> ModifyAvatar(User user); /// /// 终结非法会话 /// System.Threading.Tasks.Task Finalize(); } }