Skip to main content

Microservices for SATOSA authentication proxy, made by the Perun team

Project description

satosacontrib.perun

Microservices for SATOSA authentication proxy, made by the Perun team.

Microservices

Context attributes microservice

The microservice adds the target IdP data to attributes:

  • display name
  • logo
  • target issuer

The MetaInfoIssuer microservice needs to be run beforehand with the following patch. Another patch is also needed for the satosa package until they are incorporated into the upstream.

Is banned microservice

The microservice connects to database storing user bans and redirects banned users to configured URL.

Persist authorization params microservice

This request microservice retrieves configured parameters from GET or POST request (if available) and stores the values to internal context state.

Session started with microservice

This Satosa microservice checks, if configured attribute's value is present in "session_started_with" values (retrieved by Persist authorization params microservice). If so, adds attribute with configured name. The value is expected to be converted to boolean by Attribute typing microservice.

Compute eligibility microservice

The microservice obtains dict with format { eligiblility_type: <unix_timestamp> } from the internal data and runs a function configured for the given eligibility type. The config is of format type: function_path.

The function should have a following signature:
example_func(data: InternalData, *args, **kwargs) -> timestamp | bool, and it either returns False or a new timestamp, in which case the time in the dictionary is updated in internal data. It strongly relies on the PerunAttributes microservice to fill the dict beforehand. If you want to update eligibility in the IDM, use the UpdateUserExtSource microservice.

Perun Microservices

Subpackage of microservices connecting to perun. These have to be allowed (or not denied) for a given combination of requester/target_entity in order to run.

Additional Identifiers

Takes user attributes by config, checks values with regexes and creates hashes by specified algorithm. Values prepared to hash are parsed into List of List of strings and serialized with json. User ext source and user is found by mathing this hashes. If not even one hash can be created, user will be redirected to error page. If user is not found, he will be redirected to registration page.

This microservice does not update the user in Perun with new values. To update save freshly computed values for the current user, you need to run update_user_ext_source microservice.

RFC - eduTEAMS Identifier Generation
Differences between our soulution and RFC:

  • the selections are represented as list of list of attributes values serialized to JSON
  • all identifiers are hashed by same hash function and with same salt
  • The user’s home IdP entity-id does not need to be part of selection
  • hashed values can be scoped but does not have to be

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

satosacontrib.perun-3.6.1.tar.gz (44.8 kB view details)

Uploaded Source

Built Distribution

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

satosacontrib.perun-3.6.1-py3-none-any.whl (63.4 kB view details)

Uploaded Python 3

File details

Details for the file satosacontrib.perun-3.6.1.tar.gz.

File metadata

  • Download URL: satosacontrib.perun-3.6.1.tar.gz
  • Upload date:
  • Size: 44.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.2

File hashes

Hashes for satosacontrib.perun-3.6.1.tar.gz
Algorithm Hash digest
SHA256 64d6e0b688ee8bbda8aecfe50f8e71e17d97b554586b29666c4abf49f0d23ad2
MD5 e9170ea2e0c5bcd983f1409fe6677f22
BLAKE2b-256 71e021d462e67e12b3abd94db1ab0a1d532243a6719202d613590a0e0bb9d2be

See more details on using hashes here.

File details

Details for the file satosacontrib.perun-3.6.1-py3-none-any.whl.

File metadata

File hashes

Hashes for satosacontrib.perun-3.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0cb450d867de6ed15ce2a6252ccba7fb60db9609119904bf6cd94024b64ab494
MD5 92b88f5f3c4acca6d10bd7e1517be5f5
BLAKE2b-256 a91ca814cf120595a869192ec085ae321066c241e4523031795fffae9994dcfc

See more details on using hashes here.

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