Skip to main content

An OpenID Connect (OIDC) implementation for Identity and Access Management (IAM) solutions.

Project description

Python PyPI GH-CI Codecov Apache-2.0 Ruff

Overview

The ansys-iam-oidc package provides Python utilities for adding OAuth 2.0 and OpenID Connect (OIDC) authentication to SAF applications. It simplifies the integration of secure identity flows so that developers can protect APIs, validate access tokens, and retrieve user information without implementing the underlying protocol details themselves.

Key capabilities include:

  • Token validation: Verify access-token signatures, expiration, and audience claims against an OIDC provider’s public keys.

  • User information retrieval: Obtain standard OIDC user-profile claims either from the token itself or by querying the provider’s userinfo endpoint.

  • FastAPI integration: Ready-to-use dependency classes for protecting FastAPI routes, including support for HTTP requests and WebSocket connections.

  • Flexible client modes: Support for synchronous and asynchronous workflows through OidcClient and AsyncOidcClient.

  • Standard OIDC flows: Foundation for authorization-code with PKCE, client credentials, device-code, token introspection, token revocation, and token exchange.

By handling discovery, key retrieval, and claim validation internally, the package allows developers to focus on application logic while relying on a consistent and tested authentication layer.

Installation

Ensure you have all the necessary prerequisites. Then, refer to the installation guidelines for detailed instructions on how to install the project in your system.

Documentation

The official documentation of SAF Product Configuration contains the following chapters:

  • Getting started. This section provides a brief overview and instructions on how to get started with the project. It typically includes information on how to install the project, set up any necessary dependencies, and run a basic example or test to ensure everything is functioning correctly.

  • User guide. The user guide section offers detailed documentation and instructions on how to use the project. It provides comprehensive explanations of the project’s features, functionalities, and configuration options. The user guide aims to help users understand the project’s concepts, best practices, and recommended workflows.

  • API reference. The API reference section provides detailed documentation for the project’s application programming interface (API). It includes information about classes, functions, methods, and their parameters, return values, and usage examples. This reference helps developers understand the available API endpoints, their functionalities, and how to interact with them programmatically.

  • Examples. The examples section showcases practical code examples that demonstrate how to use the project in real-world scenarios. It provides sample code snippets or complete scripts that illustrate different use cases or demonstrate specific features of the project. Examples serve as practical references for developers, helping them understand how to apply the project to their own applications.

  • Contribute. This section provides guidelines and instructions on how to contribute to the project. It includes information on how to set up the development environment, run tests, submit pull requests, and follow contribution guidelines.

Troubleshooting

For troubleshooting or reporting issues, open an issue in the project repository.

Follow these steps to report an issue:

  • Go to the project repository.

  • Click on the Issues tab.

  • Click on the New Issue button.

  • Provide a clear and detailed description of the issue you are facing.

  • Include any relevant error messages, code snippets, or screenshots.

Additionally, you can refer to the official documentation for additional resources and troubleshooting guides.

License

This library is licensed under the Apache License 2.0. You can find the full text of the license in the LICENSE file.

Changelog

The changelog section provides a summary of notable changes for each version of SAF IAM OIDC for Python. It helps you keep track of updates, bug fixes, new features, and improvements made to the project over time.

To view the complete changelog, visit the project repository and navigate to the CHANGELOG file. It provides a comprehensive list of changes categorized by version, along with brief descriptions of each change.

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

ansys_iam_oidc-0.8.0.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

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

ansys_iam_oidc-0.8.0-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

Details for the file ansys_iam_oidc-0.8.0.tar.gz.

File metadata

  • Download URL: ansys_iam_oidc-0.8.0.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for ansys_iam_oidc-0.8.0.tar.gz
Algorithm Hash digest
SHA256 9f8b3fb5ec557cb4ffa900a4e2497cd938596d715fb8d5076a02fb56ee35247f
MD5 234b8426a3eafa5c73ddacd0e73c0c5c
BLAKE2b-256 d882640beab04c2ac5c16c6d78c59316e5da31eca76975474767443d729f057d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansys_iam_oidc-0.8.0.tar.gz:

Publisher: ci_cd_release.yml on ansys/saf-iam-oidc

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

File details

Details for the file ansys_iam_oidc-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: ansys_iam_oidc-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 20.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for ansys_iam_oidc-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7f9bc07a0f406f5657a15db26b8e6e404898ae79d87b3aee895bdc3f22525259
MD5 d5d6cb51988d4201e9982edef57dca5f
BLAKE2b-256 58a962dfb84b5bf67bb1c03e4532a1997370ac3f4297dc4a6e22de6686a58feb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansys_iam_oidc-0.8.0-py3-none-any.whl:

Publisher: ci_cd_release.yml on ansys/saf-iam-oidc

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