jpillora / chisel

A fast TCP/UDP tunnel over HTTP
MIT License
12.36k stars 1.32k forks source link

Feature request: support external authentication system #476

Open folliehiyuki opened 6 months ago

folliehiyuki commented 6 months ago

My main request for this issue is to have OpenID Connect authentication support for Chisel, but a generic system to integrate with other authentication systems (.e.g SAML, or simple OAuth) is also great to have. Some benefits:

Design

The users.json file's schema can be changed to allow only username (omit password), or even better, extended to support other common claims in the received JWT token like email, group (pretty much a dictionary of claims -> target regex).

Chisel server can have an additional flag to indicate the redirect URL for external authentication, or the information can be also written in the auth configuration.

Workflow

Alternatives

A few TCP-over-HTTP tunnel implementations exist that support plugging into an Identity Authentication Proxy:

snimavat commented 4 months ago

+1 for ability to have database or redis or ability to write custom authenticator