-
Notifications
You must be signed in to change notification settings - Fork 11
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
Provide certificate-based authentication through middleware #39
Labels
area:security
All issues related to security
feature
All issues related to new features
specs-required
All issues where the specifications are still being defined and implementation should be halted
Milestone
Comments
stijnmoreels
pushed a commit
to stijnmoreels/arcus.webapi
that referenced
this issue
May 26, 2019
One requires a easy way to allow only a certain amount of client certificates on global and local level. This commit provides this way by using a global filter and a local attribute. arcus-azure#31 arcus-azure#39
tomkerkhove
pushed a commit
that referenced
this issue
Jul 9, 2019
* FEAT: add certificate based authentication filter & attribute One requires a easy way to allow only a certain amount of client certificates on global and local level. This commit provides this way by using a global filter and a local attribute. #31 #39 * TEST: certificate issuername and combined validation * PR-ADD: use private class for the client certificate configuration * TEST: correct subject/issuer name generation for self-signed certificate * TEST: global certificate based authentication * PR-SUG: extract inner-class in TestApiServer to configure the TLS client certificate * PR-SUG: rename 'X509Validation' to 'X509ValidationRequirement' * PR-STYLE: update the certificate authentication filter to pass-along multiple certificate requirements at once * PR-TEST: certificate authentication with thumbprint testing * PR-SUG: add logging via 'ILoggerFactory' given via HttpContext * PR-SUG: use configuration keys i.o. actual values for setting certificate authentication * PR-SUG: use 'ISecretProvider' as basis for configurable certificate property values * PR-DOC: add docs for certificate authentication * PR-DEL: remove the configuration keys addition in the TestApiServer * PR-FIX: alter the guard predicate & message for the configuration keys * Update docs/features/certificate-authentication.md Co-Authored-By: Tom Kerkhove <kerkhove.tom@gmail.com> * PR-DOC: move authentication mechanisems to '/features/auth' * PR-SUG: rename 'IsAllowedCertificate' > 'IsCertificateAllowed' * PR-SUG: provide way to configure each requirement via diff validation location * PR-DOC: update docs with new certificate validation location setup * PR-DOC: add line break in introduction text * PR-DOC: remove '-authentication' of certificate auth. doc * PR-SUG: restructure private methods in order to have less arguments * PR-SUG: extract 'GetLoggerOrDefault' in authentication filter * PR-SUG: extract 'GetLoggerOrDefault' in authentication filter * PR-FIX: guard against miss-implementations of certificate locations * PR-FIX: guard against miss-client.certificates * PR-DOC: rename and document more the members with XML docs * PR-FIX: rename with 'ExpectedValue' in location signature * PR-SUG: use dedicated config object to set and retrieve the expected cert. values * PR-ADD: reconsider guards on every public/internal member * PR-DOC: update certificate authentication docs with new authentication config approach * PR-DEL: remove vscode cache * PR-FIX: make validation requirement internal * PR-SUG: use 'if' statement instead of expression-based null-check * PR-SUG: extract lamdba function that switches between all certificate requirements * PR-SUG: introduce textbook builder pattern * PR-ADD: add remarks about registration of certificate validator * PR-ADD: extra guard against invalid values in the validation location
Closed via #43 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area:security
All issues related to security
feature
All issues related to new features
specs-required
All issues where the specifications are still being defined and implementation should be halted
Is your feature request related to a problem? Please describe.
Quite often we need to enforce tight security on an API where certificates are often used.
Describe the solution you'd like
A declarative way to configure client certificates that are allowed by using middleware which enforces this on all endpoints.
Additional context
This relates to #31 which will provide attribute-based decoration which will be very similar. Both of these should use the same shared core.
The text was updated successfully, but these errors were encountered: