v5.8.0 - Feedback wanted on re-authentication 📣 #921
Replies: 4 comments 1 reply
-
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
We have password rotation for our service accounts. This feature, as implemented in 5.12 definitely meets our needs. |
Beta Was this translation helpful? Give feedback.
-
With version 5.14.0, this feature is now stabilized. |
Beta Was this translation helpful? Give feedback.
-
Re-Authentication
In version 5.8.0, we introduce a new preview APIs to the driver. Under the term re-authentication, we deliver actually two closely related features:
replacing the authentication information in the driver without having to create a new driver object
using specific auth information for the duration of a session
1. Auth Rotation
This is used for auth tokens that are expected to expire (e.g., SSO).
A
neo4j.auth_management.AuthManager
instance (orneo4j.auth_management.AsyncAuthManager
for the async driver) may be passed to the driver instead of a static auth token.The easiest way to get started is using the provided
AuthManager
implementation. For example:AuthManager
is undefined behavior.AuthManager
s (and consequentially provider functions passed toAuthManagers.expiration_based
) must not interact with the driver in any way as this can cause deadlocks and undefined behavior.2) Session Auth
For the purpose of switching users,
Session
s can be configured with a static auth token. This is very similar to impersonation in that all work in the session will be executed in the security context of the user associated with the auth token. The major difference is that impersonation does not require or verify authentication information of the target user, however it requires the impersonating user to have the permission to impersonate.Note
This requires Bolt protocol version 5.3 or higher (Neo4j DBMS 5.8+).
Feedback wanted
This new API is currently marked as preview. What it means is that we are eagerly waiting for your feedback. Does it work well in your scenario? Do you wish there was more?
Let us know so we can correct course in the next releases!
Beta Was this translation helpful? Give feedback.
All reactions