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.dev0.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.dev0-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

Details for the file ansys_iam_oidc-0.8.dev0.tar.gz.

File metadata

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

File hashes

Hashes for ansys_iam_oidc-0.8.dev0.tar.gz
Algorithm Hash digest
SHA256 a840b31067f006d0792d8f05b391be4b6ec75036b93b8815171d6797e97eacd1
MD5 4457808f77c529e2c5319e9971a0ecc2
BLAKE2b-256 de264fc7c4a4f60595d6af0d232a1885ff99d801398299a0b63a01d3b8ac75fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansys_iam_oidc-0.8.dev0.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.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for ansys_iam_oidc-0.8.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 8c69deb65cc955df30a8ef84f1f3a29e7e6fa1eb8084e31239e12f72ff67e70a
MD5 9d5f8a6852743bb43f06b9afc9b1c0c9
BLAKE2b-256 f0d1a0450074e0bd8ee2d93a850192b84f14dc0ff4783fb0f8a0eb0c5d09723d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansys_iam_oidc-0.8.dev0-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