public IActionResult GetAccessToken(EstoreAccessTokenRequest _request) { string APIName = "GetAccessToken"; try { log.LogInformation($"{APIName}\r\n"); var response = repo.Estore.GetAccessToken(_request); if (response.StatusCode == 200) { repo.RefreshToken.SaveRefreshToken(new SaveRefreshTokenDTO { ExpiryMinute = response.RefreshTokenExpireMinutes, RefreshToken = response.RefreshToken, UserId = 0 }); log.LogInformation($"{APIName} Success"); return(Ok(response)); } else { log.LogError($"{APIName}\r\nStautsCode:{response.StatusCode}\r\nErrorType:{response.ErrorType}" + $"\r\nErrorMsg:{response.ErrorMessage}"); return(StatusCode(response.StatusCode, response.GetError())); } } catch (Exception e) { log.LogError($"{APIName} Error\r\n{e}"); return(StatusCode(500, new Error("internal_error", e.Message))); } }
public EstoreAccessTokenResponse GetAccessToken(EstoreAccessTokenRequest _request) { EstoreAccessTokenResponse response = new EstoreAccessTokenResponse(); if (configuration["EStoreClientID"] == _request.ClientID) { GetGenerateTokenDTO generateTokenDto = new GetGenerateTokenDTO { Audience = configuration["Audience"], Issuer = configuration["Issuer"], PrivateKey = configuration["PrivateKey"], TokenExpiryMinute = Int32.Parse(configuration["TokenExpiryMinute"]), RefreshTokenExpiryMinute = Int32.Parse(configuration["RefreshTokenExpiryMinute"]), UserId = 0, UserName = "******" }; TokenGeneratedDTO generatedToken = JWTHelper.GenerateToken(generateTokenDto); if (generatedToken != null && string.IsNullOrEmpty(generatedToken.ErrorStatus)) { response.AccessToken = generatedToken.AccessToken; response.AccessTokenExpireMinutes = generatedToken.TokenExpiresMinute; response.RefreshToken = generatedToken.RefreshToken; response.RefreshTokenExpireMinutes = generatedToken.TokenExpiresMinute; } else { response.StatusCode = 401; response.ErrorType = "Unauthorized Request"; response.ErrorMessage = "Unable to generate Token."; } } else { response.StatusCode = 401; response.ErrorType = "Unauthorized Request"; response.ErrorMessage = "Invalid Client ID."; } return(response); }