LGPLv3 is the wrong choice for rust programs due to rusts transitive
recompilation requirements.
MPLv2 captures the same 'spirit' but allow transitive recompilation
Previously the issuer url was received as an http::Uri.
When it was converted into a String, a `/` was appended which caused the
IssuerURL validation check in openidconnect to fail.
Now the IssuerURL is received as a String.
Previously the redirect_uri was the uri of the handler that needed
authentication.
Now one fixed redirect_uri for the entire application is used that will
redirect the user to the correct handler after successful
authentication.
This commit should fix: #28, #27, #26, #21
The previous generator functions for `OidcClient` have been replaced by
a Builder.
With this change the suggested changes by #14 and #21 have been
implemented.
previously the middlewares would use the default `reqwest::Client` even
if the `OidcClient` is created with a custom client.
Now the middleware uses the `reqwest::Client` used during creation of
`OidcClient`.
Previously the extractor would return `ExtractorError::Unauthorized` when the issuer
does not provide a end_session_endpoint.
Now it will return a `ExtractorError::RpInitiatedLogoutNotSupported`.
Adds automated CI integration tests to the basic example.
The integration tests launch and configure a keycloak server, launch the
example and test its functionality with a headless browser.
fixed#10 by implementing a flag in the response extensions that
instructs the middleware to clear the session. The flag is automatically
set when using the `OidcRpInitiatedLogout` as a responder.
improved documentation
modified example to reflect api changes
Updated the dependencies to the newest version.
Added `AsRef` and `Deref` traits to the extractors.
Moved the example from `README.md` to `examples/basic`.
Added a CI Pipeline.