public async Task <IActionResult> AccessToken(AccessTokenAddressModel model) { var AppValidateState = await _developerApiService.IsValidAppAsync(model.AppId, model.AppSecret); if (AppValidateState.Code != ErrorType.Success) { return(Json(AppValidateState)); } var newAC = new AccessToken { ApplyAppId = model.AppId, Value = (DateTime.Now.ToString() + HttpContext.GetHashCode().ToString() + model.AppId).GetMD5() }; _dbContext.AccessToken.Add(newAC); await _dbContext.SaveChangesAsync(); return(Json(new AccessTokenViewModel { Code = ErrorType.Success, Message = "Successfully get access token.", AccessToken = newAC.Value, DeadTime = newAC.CreateTime + newAC.AliveTime })); }
public async Task <IActionResult> AccessToken(AccessTokenAddressModel model) { var correctApp = await _developerApiService.IsValidAppAsync(model.AppId, model.AppSecret); if (correctApp) { var token = _tokenManager.GenerateAccessToken(model.AppId); return(Ok(new AccessTokenViewModel { Code = ErrorType.Success, Message = "Successfully get access token.", AccessToken = token.tokenString, DeadTime = token.expireTime })); } else { return(this.Protocol(ErrorType.WrongKey, "Wrong app info.")); } }
public async Task <IActionResult> AccessToken(AccessTokenAddressModel model) { try { await _developerApiService.IsValidAppAsync(model.AppId, model.AppSecret); } catch (AiurUnexceptedResponse e) { return(Json(e.Response)); } var token = _tokenManager.GenerateAccessToken(model.AppId); return(Json(new AccessTokenViewModel { Code = ErrorType.Success, Message = "Successfully get access token.", AccessToken = token.Item1, DeadTime = token.Item2 })); }
public async Task <IActionResult> AccessToken(AccessTokenAddressModel model) { var cacheKey = $"Id-{model.AppId}-Secret-{model.AppSecret}"; var correctApp = await _cache.GetAndCache(cacheKey, () => _developerApiService.IsValidAppAsync(model.AppId, model.AppSecret)); if (correctApp) { var token = _tokenManager.GenerateAccessToken(model.AppId); return(Json(new AccessTokenViewModel { Code = ErrorType.Success, Message = "Successfully get access token.", AccessToken = token.Item1, DeadTime = token.Item2 })); } else { return(this.Protocol(ErrorType.WrongKey, "Wrong app info.")); } }