tag:github.com,2008:https://github.com/IdentityPython/SATOSA/releases Release notes from SATOSA 2025-02-10T15:56:42Z tag:github.com,2008:Repository/41785805/v8.5.1 2025-02-10T16:01:17Z Version 8.5.1 <h2>8.5.1 (2025-02-10)</h2> <ul> <li>ldap_attribute_store plugin: Add configuration option <code>use_all_results</code> to<br> specify whether all LDAP results should be processed.</li> <li>ldap_attribute_store plugin: Add configuration option <code>provider_attribute</code> to<br> define the extracted attribute (ie, domain) that will be used to select the LDAP<br> configuration.</li> <li>ldap_attribute_store plugin: Add configuration option search_filter to define<br> complex LDAP queries, when the default search based on an identifier is not<br> good enough.</li> <li>ldap_attribute_store plugin: Add configuration option pool_lifetime. The LDAP<br> Server may abandon connections after some time without notifying the client.<br> The new option allows to set the maximum pool lifetime, so that connections<br> close on the client side.</li> </ul> c00kiemon5ter tag:github.com,2008:Repository/41785805/v8.5.0 2025-01-08T11:56:46Z Version 8.5.0 <h2>8.5.0 (2025-01-08)</h2> <ul> <li>openid connect backend: Add OAuth2/OIDC backend based on idpy-oidc (new extra requirement <code>idpy_oidc_backend</code> to pull the library dependency)</li> <li>apple backend: Rework the Apple backend to be based on the generic OpenIDConnectBackend and fix the userinfo loading</li> <li>Restructure fatal error messages to redirect to generic error page when an errors occur</li> <li>Allow multiple values for the "resource" query param</li> <li>Fix checks for missing state from cookie and missing relay state</li> <li>Allow loading of tuples from YAML configs</li> <li>docs: minor fixes</li> </ul> c00kiemon5ter tag:github.com,2008:Repository/41785805/v8.4.0 2023-06-11T17:23:23Z Version 8.4.0 <h2>8.4.0 (2023-06-11)</h2> <ul> <li>Make cookie parameters configurable</li> <li>Avoid setting duplicate set-cookie headers</li> <li>Complete the support for the mdui:UIInfo element</li> <li>satosa-saml-metadata: make signing optional</li> <li>metadata_creation: for SAML backend, use sp.config to render metadata</li> <li>tests: update markers of supported Python versions</li> <li>deps: move away from pkg_resources when deriving the package version at runtime</li> </ul> c00kiemon5ter tag:github.com,2008:Repository/41785805/v8.3.0 2023-06-11T17:22:59Z Version 8.3.0 <h2>8.3.0 (2023-06-08)</h2> <ul> <li>FilterAttributeValues plugin: add new filter types shibmdscope_match_scope and shibmdscope_match_value; add tests</li> <li>FilterAttributeValues plugin: add example rules for saml-subject-id and saml-pairwise-id</li> <li>FilterAttributeValues plugin: add example rules enforcing controlled vocabulary for eduPersonAffiliation and eduPersonScopedAffiliation attributes</li> <li>DecideBackendByRequester plugin: add default_backend setting; add tests; minor fixes</li> <li>opend_connect backend: use PyoidcSettings class to configure pyoidc/oic based clients</li> <li>ping frontend: minor adjustments and fixes for interface compliance</li> <li>tests: update code to use matchers API to mock responses</li> <li>examples: improve configuration readability of the primary-identifier plugin</li> <li>examples: minor fixes and enhancements for ContactPerson examples for SAML backend and frontend</li> </ul> c00kiemon5ter tag:github.com,2008:Repository/41785805/v8.2.0 2022-11-17T18:07:07Z Version 8.2.0 <h2>8.2.0 (2022-11-17)</h2> <ul> <li>attribute_authorization: new configuration options <code>force_attributes_presence_on_allow</code> and <code>force_attributes_presence_on_deny</code> to enforce attribute presence enforcement</li> <li>saml2 backend: new configuration option <code>acs_selection_strategy</code> to support different ways of selecting an ACS URL</li> <li>saml2 backend: new configuration option <code>is_passive</code> to set whether the discovery service is allowed to visibly interact with the user agent.</li> <li>orcid backend: make the name claim optional</li> <li>apple backend: retrieve the name of user when available.</li> <li>openid_connect frontend: new configuration option <code>sub_mirror_subject</code> the set sub to mirror the subject identifier as received in the backend.</li> <li>openid_connect frontend: check for empty <code>db_uri</code> before using it with a storage backend</li> <li>attribute_generation: try to render mustach tempate only on string values</li> <li>logging: move cookie state log to the debug level</li> <li>chore: fix non-formatting flake8 changes</li> <li>tests: remove dependency on actual MongoDB instance</li> <li>build: update links for the Docker image on Docker Hub</li> <li>docs: properly document the <code>name_id_format</code> and <code>name_id_policy_format</code> options</li> <li>docs attribute_generation: correct example configuration</li> <li>docs: fix mailing list link.</li> <li>docs: fix typos and grammar</li> </ul> c00kiemon5ter tag:github.com,2008:Repository/41785805/v8.1.1 2022-06-22T22:44:22Z Version 8.1.1 <h2>8.1.1 (2022-06-23)</h2> <ul> <li>OIDC frontend: Set minimum pyop version to v3.4.0 to ensure the needed methods are available</li> <li>docs: Fix orcid mapping in example internal_attributes</li> </ul> c00kiemon5ter tag:github.com,2008:Repository/41785805/v8.1.0 2022-05-06T16:17:55Z Version 8.1.0 <h2>8.1.0 (2022-05-06)</h2> <ul> <li>OIDC frontend: support stateless code flow</li> <li>OIDC frontend: support Redis and session expiration</li> <li>orcid backend: allow family-name to be optional</li> <li>docs: add references to external contributions</li> <li>docs: update structure</li> </ul> c00kiemon5ter tag:github.com,2008:Repository/41785805/v8.0.1 2022-02-22T13:46:10Z Version 8.0.1 <h2>8.0.1 (2022-02-22)</h2> <ul> <li>Reinitialize state if error occurs while loading state</li> <li>VirtualCoFrontend: Expose metadata endpoint and fix duplicate entity ids with multiple backends</li> <li>saml-backend: Allow request micro-services to affect the authn-context-class-ref</li> <li>saml-backend: Keep the last authority from the authenticating authority list</li> <li>minor fixes to the Apple and GitHub backends</li> <li>micro_services: example config for attribute_policy</li> <li>deps: bump minimum pyop version to 3.3.1</li> <li>docs: fixes for example files and config options</li> </ul> c00kiemon5ter tag:github.com,2008:Repository/41785805/v8.0.0 2021-09-07T12:10:07Z Version 8.0.0 <h2>8.0.0 (2021-09-07)</h2> <p>This is a breaking release, if you were using the openid_connect frontend. To<br> keep compatibility:</p> <ol> <li>Install the proxy with <code>pip install satosa[pyop_mongo]</code> in order to fetch<br> the right dependencies.</li> <li>If you were not using the <code>client_db_path</code> option then set the new option<br> <code>client_db_uri</code> to the value of <code>db_uri</code>.</li> </ol> <ul> <li>The internal data now hold the authenticating authority as part of the<br> AuthenticationInformation object<br> (<code>satosa.internal::AuthenticationInformation::authority</code>).</li> <li>The Context object now holds a dictionary of query string params<br> (<code>context.qs_params</code>).</li> <li>The Context object now holds a dictionary of http headers<br> (<code>context.http_headers</code>).</li> <li>The Context object now holds a dictionary of server headers<br> (<code>context.server_headers</code>).</li> <li>The Context object now holds the request method (<code>context.request_method</code>).</li> <li>The Context object now holds the request uri (<code>context.request_uri</code>).</li> <li>The Context object now holds a dictionary of http headers.</li> <li>frontends: the openid_connect frontend has a new configuration option<br> <code>signing_key_id</code> to set the <code>kid</code> field on the jwks endpoint.</li> <li>frontends: the openid_connect frontend dependency <code>pyop</code> has been updated<br> to work with both Redis and MongoDB. This changed how its dependencies are<br> set. This is reflected in this package's new extras that can be set to<br> <code>pyop_mongo</code> (to preserve the previous behaviour), or <code>pyop_redis</code>.</li> <li>frontends: the openid_connect frontend filters out unset claims.</li> <li>frontends: the openid_connect frontend has a new option<br> <code>extra_id_token_claims</code> to define in the config per client which extra claims<br> should be added to the ID Token to also work with those clients.</li> <li>frontends: the openid_connect frontend has a new option <code>client_db_uri</code> to<br> specify a database connection string for the client database. If unset,<br> <code>client_db_path</code> will be used to load the clients from a file.<br> Previously, the option <code>db_uri</code> was used to set the client database string.<br> If you were relying on this behaviour, add the <code>client_db_uri</code> option with<br> the same value as <code>db_uri</code>.</li> <li>frontends: document the <code>client_db_path</code> option for openid_connect</li> <li>frontends: the openid_connect frontend has a new configuration option<br> <code>id_token_lifetime</code> to set the lifetime of the ID token in seconds.</li> <li>frontends: the saml2 frontend has a new option <code>enable_metadata_reload</code> to<br> expose an endpoint (<code>/&lt;module_name&gt;/reload-metadata</code>) that allows external<br> triggers to reload the frontend's metadata. This setting is disabled by<br> default. It is up to the user to protect the endpoint if enabled. This<br> feature requires pysaml2 &gt; 7.0.1</li> <li>backends: the saml2 backend derives the encryption keys based on the<br> <code>encryption_keypairs</code> configuration option, otherwise falling back to<br> the <code>key_file</code> and <code>cert_file</code> pair. This is now reflected in the internal<br> pysaml2 configuration.</li> <li>backends: the saml2 backend <code>sp</code> property is now of type<br> <code>saml2.client::Saml2Client</code> instead of <code>saml2.client_base::Base</code>. This allows<br> us to call the higer level method<br> <code>saml2.client::Saml2Client::prepare_for_negotiated_authenticate</code> instead of<br> <code>saml2.client_base::Base::create_authn_request</code> to properly behave when<br> needing to sign the AuthnRequest using the Redirect binding.</li> <li>backends: the saml2 backend has a new option <code>enable_metadata_reload</code> to<br> expose an endpoint (<code>/&lt;module_name&gt;/reload-metadata</code>) that allows external<br> triggers to reload the backend's metadata. This setting is disabled by<br> default. It is up to the user to protect the endpoint if enabled. This<br> feature requires pysaml2 &gt; 7.0.1</li> <li>backends: new ReflectorBackend to help with frontend debugging easier and<br> developing quicker.</li> <li>backends: the saml2 backend has a new configuration option<br> <code>send_requester_id</code> to specify whether Scoping/RequesterID element should be<br> part of the AuthnRequest.</li> <li>micro-services: new DecideBackendByTargetIssuer micro-service, to select<br> a target backend based on the target issuer.</li> <li>micro-services: new DiscoToTargetIssuer micro-service, to set the discovery<br> protocol response to be the target issuer.</li> <li>micro-services: new IdpHinting micro-service, to detect if an idp-hinting<br> feature has been requested and set the target entityID. Enabling this<br> micro-service will result in skipping the discovery service and using the<br> specified entityID as the IdP to be used. The IdP entityID is expected to be<br> specified as a query-param value on the authentication request.</li> <li>micro-services: new AttributePolicy micro-service, which is able to force<br> attribute policies for requester by limiting results to a predefined set of<br> allowed attributes.</li> <li>micro-services: the PrimaryIdentifier micro-service has a new option<br> <code>replace_subject_id</code> to specify whether to replace the <code>subject_id</code> with the<br> constructed primary identifier.</li> <li>micro-services: PrimaryIdentifier is set only if there is a value.</li> <li>micro-services: AddSyntheticAttributes has various small fixes.</li> <li>micro-services: ScopeExtractorProcessor can handle string values.</li> <li>dependencies: the <code>pystache</code> package has been replaced by <code>chevron</code>, as<br> <code>pystache</code> seems to be abandoned and will not work with python v3.10 and<br> <code>setuptools</code> v58 or newer. This package is a dependency of the<br> <code>satosa.micro_services.attribute_generation.AddSyntheticAttributes</code><br> micro-service.</li> <li>tests: MongoDB flags have been updated to cater for deprecated flags.</li> <li>docs: updated with information about the newly added micro-services.</li> <li>docs: various typo fixes.</li> <li>docs: various example configuration fixes.</li> </ul> c00kiemon5ter tag:github.com,2008:Repository/41785805/v7.0.3 2021-01-20T23:52:31Z Version 7.0.3 <h2>7.0.3 (2021-01-21)</h2> <ul> <li>dependencies: Set minimum pysaml2 version to v6.5.1 to fix internal XML<br> parser issues around the xs and xsd namespace prefixes declarations</li> </ul> c00kiemon5ter