Skip to content

Support protected URL Sign In #4

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

Open
davidje13 opened this issue Mar 28, 2020 · 0 comments
Open

Support protected URL Sign In #4

davidje13 opened this issue Mar 28, 2020 · 0 comments
Labels
enhancement New feature or request

Comments

@davidje13
Copy link
Owner

To allow easy integration with alternative authentication mechanisms, it should be possible to configure a trusted URL where it is assumed that if the user can reach the URL, they are trusted. This could be used with a proxy configured to require Mutual TLS for the configured path, for example.

const config = {
  trustedEndpoint: {
    path: 'my-trusted-path',
    userIdHeader: 'X-Ssl-Cert-Hash',
  },
};

Which could be combined with an nginx config:

ssl_verify_client on;
ssl_client_certificate /path/to/cert.crt;
ssl_verify_client optional;

location /ssoprefix/my-trusted-path {
  if ($ssl_client_verify != "SUCCESS") { return 403; }
  proxy_set_header X-Ssl-Cert-Hash $ssl_client_fingerprint;
}

It may be desirable to have other options than userIdHeader, such as userId for a fixed user ID for anybody able to reach the endpoint.


Things to consider:

  • Care must be taken by the user to ensure the endpoint is fully protected. Might be worth allowing a configurable header-based password which can be set in the proxy as a bit of extra protection against accidental misconfigurations (wouldn't provide much protection though)
  • Should it be possible to configure multiple trusted endpoints? What would that look like?
  • How should this interact with the existing client-exposed authUrl property?
@davidje13 davidje13 added the enhancement New feature or request label Mar 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant