Library of common utils for interacting with Identity-Aware Proxies
Project description
IAP Toolkit
A library of utils to ease programmatic authentication with Google IAP (and ideally other IAPs in future).
Quick Start / Example Usage
import requests
from iaptoolkit import IAPToolkit
iaptk = IAPToolkit(google_iap_client_id="EXAMPLE_ID_123456789ABCDEF")
allowed_domains = ["example.com", ]
# Example #1 - Combined Calls
def example1(url: str):
headers = dict()
result = iaptk.check_url_and_add_token_header(
url=url,
request_headers=headers,
valid_domains=allowed_domains
)
# result.token_added (bool) indicates if the token was added, depending on whether or not URL was valid
# headers dict now contains the appropriate Bearer Token header for Google IAP
# Make HTTP GET request with requests lib, with our headers containing bearer token to auth with IAP
response = requests.request("GET", url, headers=headers)
# Example #2 - Separate Calls - Functionally the same as Example 1 but more flexibility in URL validation
def example1(url: str):
is_url_safe: bool = iaptk.is_url_safe_for_token(url=url, valid_domains=valid_domains)
if not is_url_safe:
raise ExampleBadURLException("This URL isn't safe to send token headers to!")
headers = dict()
token_is_fresh: bool = iaptk.get_token_and_add_to_headers(request_headers=headers)
# token_is_fresh indicates if token was newly retrieved (True), or if a cached token was reused (False)
# headers dict now contains the appropriate Bearer Token header for Google IAP
# Make HTTP GET request with requests lib, with our headers containing bearer token to auth with IAP
response = requests.request("GET", url, headers=headers)
Disclaimer
This project is not affiliated with Google. No trademark infringement intended.
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
iaptoolkit-0.2.0.tar.gz
(9.7 kB
view hashes)
Built Distribution
iaptoolkit-0.2.0-py3-none-any.whl
(12.4 kB
view hashes)
Close
Hashes for iaptoolkit-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29ac22ef717151bbf5c9e3aa618af481ce2383967682b86f3b9662dbb1315a64 |
|
MD5 | 60871a36aa9d8b7d642db425bffe6ade |
|
BLAKE2b-256 | 1ecbe729861be54e01f506c8f325d7e4e2c92a2614b90e86c37262a34a67f3fc |