You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At current, our authentication process is as follows (in high level):
validate_authenticator_exists: validate that the authenticator is implemented in Conjur
validate_security: validate that the authenticator is enables, it has a defined webservice, the user exists and that it has authenticate permissions on the webservice
validate_credentials: validate that the given credentials are valid (e.g api_key is correct)
validate_origin: validate that the user can authenticate from the IP that the request was sent (i.e using the restricted_to policy entity).
audit_success: write a success message to the audit log
new_token: create a new Conjur access token
the security and origin validation are similar as in both we verify that the user can authenticate with Conjur. So it makes sense to first validate that the user can authenticate with Conjur, before we actually authenticate it.
This change will improve the readability of our code as its logic will make more sense.
Furthermore, the origin validation is very quick so we don't want to fail on it after we perform heavy validations of the credentials.
DoD:
origin is validated before credentials
existing tests still pass (no additional tests are required)
The text was updated successfully, but these errors were encountered:
I feel like I missing something in this issue.
What do you mean by "first validate that the user can authenticate with Conjur, before we actually authenticate it."
The authentication happen only after all the checks had passed, regardless of their order
What do we gain here?
Validate that the user can authenticate with the authenticator (i.e has the permissions)
validate_security
validate_origin
Validate the user's credentials with the authenticator
validate_credentials
What i'm trying to do here is stack the validations in that order. The current validations are security -> credentials -> origin. I want to change it to security -> origin -> credentials to maintain the logic described above.
At current, our authentication process is as follows (in high level):
authenticate
permissions on the webservicerestricted_to
policy entity).new_token: create a new Conjur access token
We should replace the order from:
to:
the security and origin validation are similar as in both we verify that the user can authenticate with Conjur. So it makes sense to first validate that the user can authenticate with Conjur, before we actually authenticate it.
This change will improve the readability of our code as its logic will make more sense.
Furthermore, the origin validation is very quick so we don't want to fail on it after we perform heavy validations of the credentials.
DoD:
The text was updated successfully, but these errors were encountered: