public ResponseResult <UserRegisterResponseDTO> UserRegister(UserRegisterRequestDTO request) { UserRegisterResponseDTO response = new UserRegisterResponseDTO(); var app = OAuthAppCache.Get(request.Appid); if (app == null) { return(Fail <UserRegisterResponseDTO>("无效的应用ID", "0400")); } //先注册,再登录发放TOKEN RegisterProvider provider = new RegisterProvider(request.UserCode, request.Password, request.SmsCode, request.RefereeCode); if (!provider.Register()) { return(Fail <UserRegisterResponseDTO>(provider.PromptInfo.CustomMessage)); } LoginProvider loginProvider = new LoginProvider(request.UserCode, request.Password, "basic"); if (loginProvider.Login(request.Client.Type, request.Client.System, request.Client.DeviceId, request.Client.IP, request.Client.SessionId, request.Client.Version, app.Id)) { response.RegisterResult = true; response.Expires = loginProvider.OAuthUser.Expire_In; response.Openid = loginProvider.OAuthUser.Open_Id; response.RefreshExpires = loginProvider.OAuthUser.Refresh_Expire_In; response.RefreshToken = loginProvider.OAuthUser.Refresh_Token; response.Token = loginProvider.OAuthUser.Token; response.UserCode = loginProvider.User.UserCode; } if (!response.RegisterResult) { Log.Info(string.Concat("注册成功,登录失败!", Environment.NewLine, loginProvider.PromptInfo.MessageStack)); } return(Success(response)); }
public override Task <UserRegisterResponseDTO> UserRegister(UserRegisterRequestDTO request, ServerCallContext context) { return(Task.Run(() => { UserRegisterResponseDTO response = new UserRegisterResponseDTO(); var app = OAuthAppCache.Get(request.Appid); if (app == null) { response.RetCode = "0400"; response.RetMsg = "无效的应用ID"; return response; } //先注册,再登录发放TOKEN RegisterProvider provider = new RegisterProvider(request.UserCode, request.Password, request.SmsCode, request.RefereeCode); if (!provider.Register()) { response.RetCode = xUtils.TransformFailRetCode(provider.PromptInfo.ResultType); response.RetMsg = provider.PromptInfo.CustomMessage; return response; } LoginProvider loginProvider = new LoginProvider(request.UserCode, request.Password, "basic"); if (loginProvider.Login(request.Client.Type, request.Client.System, request.Client.DeviceId, request.Client.Ip, request.Client.SessionId, request.Client.Version, app.Id)) { response.Data = new UserRegisterResponseDTO.Types.Result { Expires = loginProvider.OAuthUser.Expire_In, Openid = loginProvider.OAuthUser.Open_Id, RefreshExpires = loginProvider.OAuthUser.Refresh_Expire_In, RefreshToken = loginProvider.OAuthUser.Refresh_Token, Token = loginProvider.OAuthUser.Token, UserCode = loginProvider.User.UserCode }; } if (response.Data == null) { Log.Info(string.Concat("注册成功,登录失败!", Environment.NewLine, loginProvider.PromptInfo.MessageStack)); } response.RetCode = "0000"; response.RetMsg = "ok"; return response; })); }