From 303599f618eed882467f14bcae1a8bedff407992 Mon Sep 17 00:00:00 2001 From: Ryan Copley Date: Fri, 22 Aug 2025 20:36:23 -0400 Subject: [PATCH] - --- kms-frontend/src/components/Tokens.tsx | 342 +++++++++++++++++------- kms-frontend/src/services/apiService.ts | 1 + 2 files changed, 243 insertions(+), 100 deletions(-) diff --git a/kms-frontend/src/components/Tokens.tsx b/kms-frontend/src/components/Tokens.tsx index 62c44a2..c024c65 100644 --- a/kms-frontend/src/components/Tokens.tsx +++ b/kms-frontend/src/components/Tokens.tsx @@ -61,6 +61,8 @@ const Tokens: React.FC = () => { const [tokenDetailsVisible, setTokenDetailsVisible] = useState(false); const [selectedToken, setSelectedToken] = useState(null); const [newTokenResponse, setNewTokenResponse] = useState(null); + const [verifyResult, setVerifyResult] = useState(null); + const [verifyLoading, setVerifyLoading] = useState(false); const [form] = Form.useForm(); const [verifyForm] = Form.useForm(); @@ -169,8 +171,17 @@ const Tokens: React.FC = () => { } }; + const handleOpenVerifyModal = () => { + verifyForm.resetFields(); + setVerifyResult(null); + setVerifyLoading(false); + setVerifyModalVisible(true); + }; + const handleVerifyToken = async (values: any) => { try { + setVerifyLoading(true); + const verifyRequest: VerifyRequest = { app_id: values.app_id, type: 'static', @@ -178,64 +189,40 @@ const Tokens: React.FC = () => { permissions: values.permissions || [], }; + console.log('Verifying token with request:', verifyRequest); const response = await apiService.verifyToken(verifyRequest); + console.log('Token verification response:', response); - Modal.info({ - title: 'Token Verification Result', - width: 600, - content: ( -
- -
- Status: - {response.valid ? ( - }>VALID - ) : ( - }>INVALID - )} -
- - {response.permissions && response.permissions.length > 0 && ( -
- Permissions: -
- {response.permissions.map(permission => ( - {permission} - ))} -
-
- )} - - {response.permission_results && ( -
- Permission Check Results: -
- {Object.entries(response.permission_results).map(([permission, granted]) => ( -
- - {permission}: {granted ? 'GRANTED' : 'DENIED'} - -
- ))} -
-
- )} - - {response.error && ( - - )} -
-
- ), - }); + // Store the result in state to display in the modal + setVerifyResult(response); + + // Show success message + if (response && response.valid) { + message.success('Token verification completed successfully!', 3); + } else { + message.warning('Token verification completed - token is invalid', 3); + } } catch (error) { console.error('Failed to verify token:', error); - message.error('Failed to verify token'); + + // Store error result in state + setVerifyResult({ + valid: false, + error: error instanceof Error ? error.message : 'An unexpected error occurred while verifying the token.', + errorDetails: { + networkError: true, + suggestions: [ + 'Check your network connection', + 'Verify the token format is correct', + 'Ensure the selected application is correct', + 'Confirm the API server is running' + ] + } + }); + + message.error('Failed to verify token. Please check your network connection and try again.'); + } finally { + setVerifyLoading(false); } }; @@ -339,7 +326,7 @@ const Tokens: React.FC = () => { @@ -514,54 +501,209 @@ const Tokens: React.FC = () => { open={verifyModalVisible} onCancel={() => setVerifyModalVisible(false)} onOk={() => verifyForm.submit()} - width={600} + confirmLoading={verifyLoading} + width={800} > -
- + - - - - -