Skip to main content

CERN-specific Flask-Multipass providers

Project description

Flask-Multipass-CERN

This package provides the cern auth and identity providers for Flask-Multipass.

These providers are only useful if you are at CERN and intend to use Flask-Multipass with the new Keycloak-based CERN authentication infrastructure.

In its current state it also overkill if all you want to do is logging in via OIDC. If that's your goal use the authlib multipass provider since Keycloak works perfectly fine with it.

In case you need access to arbitrary group membership information (e.g. for user-managed ACLs) and the ability to search for CERN users, then this is a good choice for you.

CERN usage details

The following permissions (requested through the application portal) are needed:

  • Group membership in authorization-service-identity-readers for basic login and user search functionality
  • Group membership in authorization-service-groups-readers for group functionality
  • Tokens with group membership information (optional) - this needs to be requested directly from the authorization service team

Requesting them will most likely require you to have a professional justification.

Performance

When using group membership or user search, the library need to get an "API access" token from keycloak which typically takes 200-300ms. Set the cache key of the multipass identity provider configuration to the import path of a Flask-Caching instance or a function returning such an instance, or the instance itself to enable caching of tokens (until they expire) and group data (30 minutes).

If group membership information is included in tokens, it will be cached during login so the extra API call when checking whether a user is in a group won't be needed unless the cached data already expired.

Note

In applying the MIT license, CERN does not waive the privileges and immunities granted to it by virtue of its status as an Intergovernmental Organization or submit itself to any jurisdiction.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flask_multipass_cern-2.3.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flask_multipass_cern-2.3-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file flask_multipass_cern-2.3.tar.gz.

File metadata

  • Download URL: flask_multipass_cern-2.3.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for flask_multipass_cern-2.3.tar.gz
Algorithm Hash digest
SHA256 cd76758446323bf59bbfe7240f8ac50009e5ad7b4f7445edd1a4fa798f92824b
MD5 2b2c6c37e42fb7099b12e07119583858
BLAKE2b-256 081a3be8c92ef8c449a9df7c484493d85d4b3b01f9fe18c6717945ee85e87238

See more details on using hashes here.

Provenance

The following attestation bundles were made for flask_multipass_cern-2.3.tar.gz:

Publisher: pypi.yml on indico/flask-multipass-cern

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flask_multipass_cern-2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for flask_multipass_cern-2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d3142cdfe4217c299e7cf5ab0f0b7804f40f0f5361c0e506c7c19a35cc1d0fbb
MD5 bb36f093b6d21ed69d0e9ea91b9559b9
BLAKE2b-256 871da959263242ef19456ea48a4744b5c7657645c4f6b0d72060ebd722191c74

See more details on using hashes here.

Provenance

The following attestation bundles were made for flask_multipass_cern-2.3-py3-none-any.whl:

Publisher: pypi.yml on indico/flask-multipass-cern

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page