Skip to main content

E-infra authentication and authorization module for InvenioRDM

This remote backend adds support for Czech e-infra AAI solution - login.e-infra.cz allowing all members of czech academic community can use their home institution credentials to log in.

Installation

Add the module to your repository's pyproject.toml:

dependencies = [
    "oarepo-oidc-einfra>=1.0.0",
    # ...
]

Configuration

  1. Register a new application with e-infra OIDC Provider at https://spadmin.e-infra.cz/. When registering the application ensure that the Redirect URI points to https://<my_invenio_site>:5000/oauth/authorized/e-infra/

General parameters

OIDC parameters

In OIDC parameters, you need to set at least the following scopes:

  • openid
  • profile
  • email
  • eduperson_entitlement
  • isCesnetEligibleLastSeen
  • organization

Perun-specific parameters

  1. Grab the Client ID and Client Secret after registering the application and add them to your ENVIRONMENT variables:
INVENIO_EINFRA_CONSUMER_KEY=*Client ID*
INVENIO_EINFRA_CONSUMER_SECRET=*Client Secret*
  1. Add the remote application to the site's invenio.cfg:
from oarepo_oidc_einfra import EINFRA_LOGIN_APP

OAUTHCLIENT_REMOTE_APPS = {
    "e-infra": EINFRA_LOGIN_APP
}
  1. Add the e-infra public key to your invenio.cfg or environment variables:
EINFRA_RSA_KEY=b'-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmho5h/lz6USUUazQaVT3\nPHloIk/Ljs2vZl/RAaitkXDx6aqpl1kGpS44eYJOaer4oWc6/QNaMtynvlSlnkuW\nrG765adNKT9sgAWSrPb81xkojsQabrSNv4nIOWUQi0Tjh0WxXQmbV+bMxkVaElhd\nHNFzUfHv+XqI8Hkc82mIGtyeMQn+VAuZbYkVXnjyCwwa9RmPOSH+O4N4epDXKk1V\nK9dUxf/rEYbjMNZGDva30do0mrBkU8W3O1mDVJSSgHn4ejKdGNYMm0JKPAgCWyPW\nJDoL092ctPCFlUMBBZ/OP3omvgnw0GaWZXxqSqaSvxFJkqCHqLMwpxmWTTAgEvAb\nnwIDAQAB\n-----END PUBLIC KEY-----\n'
  1. Add the VO, communities group, api url and others to your invenio.cfg or environment variables:
EINFRA_SERVICE_USERNAME = "username"
"""Username of the service in the E-INFRA Perun."""

EINFRA_SERVICE_PASSWORD = "password"
"""Password of the service in the E-INFRA Perun."""

EINFRA_SERVICE_ID = 0
"""Internal ID of the service (whose username and password are above) in the E-INFRA Perun."""

EINFRA_REPOSITORY_VO_ID = 0
"""Internal ID of the VO in the E-INFRA Perun that represents the repository."""

EINFRA_COMMUNITIES_GROUP_ID = 0
"""Internal ID of the group in the E-INFRA Perun that represents the communities."""

EINFRA_REPOSITORY_FACILITY_ID = 0
"""Internal ID of the facility in the E-INFRA Perun that represents the repository."""

EINFRA_CAPABILITIES_ATTRIBUTE_ID = 0
"""Internal ID of the attribute in the E-INFRA Perun that represents the capabilities."""

EINFRA_SYNC_SERVICE_ID = 0
"""Internal ID of the service in the E-INFRA Perun that is responsible for synchronization
(creating and pushing dumps with resources and users)."""
  1. Start the server and go to the login page https://127.0.0.1:5000/login/

Metadata

Release files for oarepo-oidc-einfra-uvt-lter 1.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for oarepo-oidc-einfra-uvt-lter 1.0.5
File Size Uploaded Provenance Actions
oarepo_oidc_einfra_uvt_lter-1.0.5.tar.gz 43.6 kB Without provenance Details for oarepo_oidc_einfra_uvt_lter-1.0.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for oarepo-oidc-einfra-uvt-lter 1.0.5
File Interpreter ABI Platform Actions
oarepo_oidc_einfra_uvt_lter-1.0.5-py3-none-any.whl Python 3 none any Details for oarepo_oidc_einfra_uvt_lter-1.0.5-py3-none-any.whl

Total release size: 96.2 kB

Release files / oarepo_oidc_einfra_uvt_lter-1.0.5.tar.gz

Download URL oarepo_oidc_einfra_uvt_lter-1.0.5.tar.gz
Size 43.6 kB
Tags Source
SHA-256 checksum
How to use checksums
15030272c9571a952559ec26f4fed12feabb131799830fde253218231b869b0b
BLAKE2b-256 checksum
How to use checksums
100f665a8161a16ab83580a8a64c3dde05094ea9538959db806ca718dc9f685c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / oarepo_oidc_einfra_uvt_lter-1.0.5-py3-none-any.whl

Download URL oarepo_oidc_einfra_uvt_lter-1.0.5-py3-none-any.whl
Size 52.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b6ca59e6a191dfa9454c65968c2fa2cb4e6a25d7ac0c335d49ca2423eff18fb7
BLAKE2b-256 checksum
How to use checksums
a47046e3a919892afd5b4008060942cf37181b84f41cf8275bafb9cac92f9577
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Security for oarepo-oidc-einfra-uvt-lter 1.0.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page