コード例 #1
0
        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
            }));
        }
コード例 #2
0
ファイル: APIController.cs プロジェクト: supeng222/Nexus
        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."));
            }
        }