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
@@ -77,7 +77,7 @@ By specifying an audience, we ensure an admin must explicitly give a user in the
77
77
78
78
### Solution proposal: The user should be disabled from logging in when a user is de-provisioned. However, the database level role should still exist.
79
79
80
-
When doing pgwire jwt authentication, we can accept a cleartext password of the form `access=<ACCESS_TOKEN>&refresh=<REFRESH_TOKEN>` where `&` is a delimiter and `refresh=<REFRESH_TOKEN>` is optional. The JWT authenticator will then try to authenticate again and fetch a new access token using the refresh token when close to expiration (using the token API URL in the spec above). If the refresh token doesn’t exist, the session will invalidate. The implementation will be very similar to how we refresh tokens for the Frontegg authenticator. This would require users to have their IDP client generate `refresh` tokens.
80
+
When doing pgwire Oidc authentication, we can accept a cleartext password of the form `access=<ACCESS_TOKEN>&refresh=<REFRESH_TOKEN>` where `&` is a delimiter and `refresh=<REFRESH_TOKEN>` is optional. The JWT authenticator will then try to authenticate again and fetch a new access token using the refresh token when close to expiration (using the token API URL in the spec above). If the refresh token doesn’t exist, the session will invalidate. The implementation will be very similar to how we refresh tokens for the Frontegg authenticator. This would require users to have their IDP client generate `refresh` tokens.
81
81
82
82
By suggesting a short time to live for access tokens, this accomplishes invalidating sessions on deprovisioning of a user. When admins deprovision a user, the next time the user tries to authenticate or refresh their access token, the token API will not allow the user to login but will keep the role in the database.
83
83
@@ -106,7 +106,7 @@ A generic Frontend SSO redirect flow would need to be implemented to retrieve an
106
106
- Create a JWT Authenticator
107
107
- Create environmentd CLI arguments to accept the JWT authentication configuration above
108
108
- Wire up the HTTP endpoints, WS endpoints, and pgwire for this authenticator kind
109
-
- Add a `jwt` authenticator kind to orchestratord and create a `jwt` listener config
109
+
- Add a `Oidc` authenticator kind to orchestratord and create a `Oidc` listener config
110
110
- Still leave a port open for password auth for `mz_system` logins given admins can’t map a user in their IDP to `mz_system`
111
111
112
112
An MVP of what this might look like exists here: [https://github.com/MaterializeInc/materialize/pull/34516](https://github.com/MaterializeInc/materialize/pull/34516). Some differences from the proposed design:
0 commit comments