/// <summary> /// 获取登录结果 /// </summary> /// <param name="user">用户</param> /// <param name="signInResult">登录结果</param> /// <param name="applicationCode">应用程序编码</param> private async Task <SignInWithTokenResult> GetLoginResultAsync(User user, SignInResult signInResult, string applicationCode) { if (signInResult.State == SignInState.Failed) { return new SignInWithTokenResult { UserId = signInResult.UserId, State = signInResult.State, Message = signInResult.Message } } ; await MessageEventBus.PublishAsync(new UserLoginMessageEvent(new UserLoginMessage { UserId = user.Id, Name = user.Nickname, Ip = Web.IP, UserAgent = Web.Browser })); var result = await TokenBuilder.CreateAsync(user.GetClaims().ToDictionary(x => x.Type, x => x.Value)); return(new SignInWithTokenResult { UserId = signInResult.UserId, State = signInResult.State, Message = signInResult.Message, Token = result }); }