public async Task <IActionResult> ViewPhoneNumber(ViewPhoneNumberAddressModel model) { var accessToken = await _dbContext .AccessToken .SingleOrDefaultAsync(t => t.Value == model.AccessToken); var app = await ApiService.AppInfoAsync(accessToken.ApplyAppId); var targetUser = await _dbContext.Users.FindAsync(model.OpenId); if (targetUser == null) { return(this.Protocal(ErrorType.NotFound, "Could not find target user.")); } if (!_dbContext.LocalAppGrant.Exists(t => t.AppID == accessToken.ApplyAppId && t.APIUserId == targetUser.Id)) { return(Json(new AiurProtocal { Code = ErrorType.Unauthorized, Message = "This user did not grant your app!" })); } if (!app.App.ViewPhoneNumber) { return(this.Protocal(ErrorType.Unauthorized, "You app is not allowed to view users' phone number.")); } return(Json(new AiurValue <string>(targetUser.PhoneNumber) { Code = ErrorType.Success, Message = "Successfully get the target user's phone number." })); }
public async Task<IActionResult> ViewPhoneNumber(ViewPhoneNumberAddressModel model) { var user = await _grantChecker.EnsureGranted(model.AccessToken, model.OpenId, t => t.ViewPhoneNumber); return Json(new AiurValue<string>(user.PhoneNumber) { Code = ErrorType.Success, Message = "Successfully get the target user's phone number." }); }