-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
69 reuse saved jwt auth token until it expire 1 #70
base: master
Are you sure you want to change the base?
69 reuse saved jwt auth token until it expire 1 #70
Conversation
extract the expiration date from auth token. get the auth token validity duration in sec.
shutdown scheduler if authentication success
fix scheduler schutdown
rm redundant attribute from getItemFromAttributes function
fix scheduler schutdown method
fix nullPointerException
@@ -150,6 +157,11 @@ private PIResponse getPIResponse(String type, String input, String pass, Map<Str | |||
params.put(TRANSACTION_ID, transactionID); | |||
} | |||
String response = runRequestAsync(ENDPOINT_VALIDATE_CHECK, params, headers, false, POST); | |||
// Shutdown the scheduler if user successfully authenticated | |||
if (this.parser.parsePIResponse(response) != null && this.parser.parsePIResponse(response).value) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do not call parsePIResponse
twice
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
right
faf235b
*/ | ||
private void retrieveAuthToken() | ||
{ | ||
String response = runRequestAsync(ENDPOINT_AUTH, serviceAccountParam(), Collections.emptyMap(), false, POST); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
latch needs to be set again for this to work more than once?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -380,6 +380,9 @@ private void retrieveAuthToken() | |||
|
|||
// Count down the latch to indicate that the token is retrieved | |||
authTokenLatch.countDown(); | |||
|
|||
// Create a new CountDownLatch for the next token retrieval | |||
authTokenLatch = new CountDownLatch(1); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think this should be at the start of the function
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By the first time there is already one created at the start. After use it prepares authTokenLatch for another use. Is it wrong?
This pull request includes several changes to the
privacyIDEA
project, focusing on refactoring the authentication token retrieval process and improving the JSON parsing logic. The most important changes include the introduction of a scheduled task for automatic token retrieval, modifications to theJSONParser
class to handle token expiration, and updates to thePIConstants
class to include new constants.Authentication Token Management:
PrivacyIDEA
to automatically retrieve and refresh the authentication token (retrieveAuthToken
method).CountDownLatch
to synchronize token retrieval and added a method to get the token (getAuthToken
).JSON Parsing Enhancements:
extractAuthToken
method inJSONParser
to return aLinkedHashMap
with the token and its expiration time.getItemFromAttributes
method to simplify the retrieval of WebAuthn sign requests.Constants Update:
PIConstants
.Code Cleanup and Refactoring:
AsyncRequestCallable
to use a finalpath
variable and removed unnecessary code. [1] [2]JSONParser
andPIResponse
. [1] [2]Test Adjustments: