public async Task <IActionResult> UserInfo(UserInfoAddressModel model) { var target = await _dbContext .AccessToken .SingleOrDefaultAsync(t => t.Value == model.access_token); if (target == null) { return(Json(new AiurProtocal { Message = "Invalid Access Token!", Code = ErrorType.WrongKey })); } else if (!target.IsAlive) { return(Json(new AiurProtocal { Message = "Access Token is timeout!", Code = ErrorType.Timeout })); } var user = await _userManager.FindByIdAsync(model.openid); var viewModel = new UserInfoViewModel { Code = 0, Message = "Successfully get target user info.", User = user }; return(Json(viewModel)); }
public async Task <IActionResult> UserInfo(UserInfoAddressModel model) { var Target = await _dbContext .AccessToken .Include(t => t.OAuthPack) .SingleOrDefaultAsync(t => t.Value == model.access_token); if (Target == null) { return(Json(new AiurProtocal { message = "Invalid Access Token!", code = -1 })); } if (Target.OAuthPack.UserId != model.openid) { return(Json(new AiurProtocal { message = "Invalid Open Id!", code = -2 })); } var _user = await _userManager.FindByIdAsync(model.openid); var _viewModel = new UserInfoViewModel { openid = _user.Id, headimgurl = _user.headimgurl, nickname = _user.nickname, sex = _user.sex, preferedLanguage = _user.preferedLanguage }; return(Json(_viewModel)); }
public async Task <IActionResult> UserInfo(UserInfoAddressModel model) { var appId = _tokenManager.ValidateAccessToken(model.AccessToken); var user = await _dbContext.Users.Include(t => t.Emails).SingleOrDefaultAsync(t => t.Id == model.OpenId); if (user == null) { return(this.Protocol(ErrorType.NotFound, "Can not find a user with open id: " + model.OpenId)); } if (!await user.HasAuthorizedApp(_dbContext, appId)) { return(this.Protocol(ErrorType.NotFound, "The user did not allow your app to view his personal info! App Id: " + model.OpenId)); } var viewModel = new UserInfoViewModel { Code = 0, Message = "Successfully get target user info.", User = user }; return(Json(viewModel)); }