Skip to content
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

better support for application level authentication #2322

Open
wants to merge 17 commits into
base: main
Choose a base branch
from

Conversation

boaks
Copy link
Contributor

@boaks boaks commented Jan 15, 2025

For some application and proxies, it may be advantageous to use a common HTTP authentication pattern, where the client stays on TLS level anonymous and applies it's authentication then on application level, e.g. username/password or tokens.
This PR improves the support for that by adding an ApplicationPrincipal, an ApplicationAuthorizer and a new configuration "DTLS.APPLICATION_AUTHORIZATION", which enables the new anonymous client support.
If enabled, anonymous clients will be removed after a short time (about 2-3 minutes), if the application doesn't authorize them using the ApplicationAuthorizer.

@boaks boaks force-pushed the appl_auth branch 2 times, most recently from 0cda1d1 to 9158115 Compare January 15, 2025 08:28
@boaks boaks changed the title better support for applaction level authentication better support for application level authentication Jan 22, 2025
@boaks boaks force-pushed the appl_auth branch 3 times, most recently from cf37103 to 7f2f98a Compare January 29, 2025 06:18
boaks added 13 commits January 29, 2025 12:33
Ensure to execute tasks even after shutdown.

Signed-off-by: Achim Kraus <[email protected]>
Add execute and createTask.
Rename refreshAutoResumptionTime into updateLastMessageNanos.

Signed-off-by: Achim Kraus <[email protected]>
Cleanup principal's toString.

Signed-off-by: Achim Kraus <[email protected]>
Remove obsolete casts.

Signed-off-by: Achim Kraus <[email protected]>
Use Connection ID to identify DLTS context also
for outgoing messages, if available.

Signed-off-by: Achim Kraus <[email protected]>
If the CertificateAuthenticationMode.WANTED is used but no common client
certificate type is available, don't fail.

Signed-off-by: Achim Kraus <[email protected]>
Keep last message nanos closer to last update time of the
LeastRecentlyUpdatedCache.
Convert "synchronized" eviction handler to use write lock.

Signed-off-by: Achim Kraus <[email protected]>
@boaks boaks force-pushed the appl_auth branch 2 times, most recently from 5b787f5 to b10df26 Compare January 29, 2025 18:03
boaks added 3 commits January 31, 2025 19:34
Enables better support for clients using an anonymous DTLS handshake
and authorize the request on the application level, e.g.
username/password or tokens. In combination with proxies,
this enables to "offload" the authentication from dtls and
move it into a REST API.

Signed-off-by: Achim Kraus <[email protected]>
Add access to connector's application-authorization to endpoint and
exchange.

Signed-off-by: Achim Kraus <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant