Beispiel #1
0
        /// <summary>
        /// 获取当前用户的登录信息列表。
        /// </summary>
        /// <param name="user">当前用户实例。</param>
        /// <param name="cancellationToken">取消标志。</param>
        /// <returns>
        /// 返回当前用户所有登录信息。
        /// </returns>
        public override async Task <IList <UserLoginInfo> > GetLoginsAsync(TUser user, CancellationToken cancellationToken = default)
        {
            var loginInfos = await UserLoginContext.FetchAsync(x => x.UserId == user.Id, cancellationToken);

            return(loginInfos.Select(x => new UserLoginInfo(x.LoginProvider, x.ProviderKey, x.ProviderDisplayName)).ToList());
        }