An OpenID Connect (OIDC) implementation for Identity and Access Management (IAM) solutions.
Project description
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a840b31067f006d0792d8f05b391be4b6ec75036b93b8815171d6797e97eacd1
|
|
| MD5 |
4457808f77c529e2c5319e9971a0ecc2
|
|
| BLAKE2b-256 |
de264fc7c4a4f60595d6af0d232a1885ff99d801398299a0b63a01d3b8ac75fe
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ansys_iam_oidc-0.8.dev0.tar.gz -
Subject digest:
a840b31067f006d0792d8f05b391be4b6ec75036b93b8815171d6797e97eacd1 - Sigstore transparency entry: 1839377582
- Sigstore integration time:
-
Permalink:
ansys/saf-iam-oidc@01bfe158b2e8ace1d37011f859c8afe5d0e27c8d -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ansys
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci_cd_release.yml@01bfe158b2e8ace1d37011f859c8afe5d0e27c8d -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file ansys_iam_oidc-0.8.dev0-py3-none-any.whl.
File metadata
- Download URL: ansys_iam_oidc-0.8.dev0-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.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c69deb65cc955df30a8ef84f1f3a29e7e6fa1eb8084e31239e12f72ff67e70a
|
|
| MD5 |
9d5f8a6852743bb43f06b9afc9b1c0c9
|
|
| BLAKE2b-256 |
f0d1a0450074e0bd8ee2d93a850192b84f14dc0ff4783fb0f8a0eb0c5d09723d
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ansys_iam_oidc-0.8.dev0-py3-none-any.whl -
Subject digest:
8c69deb65cc955df30a8ef84f1f3a29e7e6fa1eb8084e31239e12f72ff67e70a - Sigstore transparency entry: 1839377671
- Sigstore integration time:
-
Permalink:
ansys/saf-iam-oidc@01bfe158b2e8ace1d37011f859c8afe5d0e27c8d -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ansys
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci_cd_release.yml@01bfe158b2e8ace1d37011f859c8afe5d0e27c8d -
Trigger Event:
workflow_dispatch
-
Statement type: