{"repo":"ChimeHQ/OAuthenticator","free":true,"listed":false,"github":"https://github.com/ChimeHQ/OAuthenticator","clone":"git clone https://github.com/ChimeHQ/OAuthenticator.git","description":"OAuth 2.1 request authentication","language":"Swift","stars":100,"topics":["swift","oauth","oauth2","oauth2-client","ios","macos"],"license":"BSD-3-Clause","category":"auth-billing-email","readme_excerpt":"[![Build Status][build status badge]][build status] [![Platforms][platforms badge]][platforms] [![Documentation][documentation badge]][documentation] OAuthenticator Lightweight OAuth 2.1 request authentication in Swift There are lots of OAuth solutions out there. This one is small, uses Swift concurrency, and offers lots of control over the process. Features: - Swift concurrency support - Fine-grained control over the entire token and refresh flow - Optional integration with ASWebAuthenticationSession - Control over when and if users are prompted to log into a service - Preliminary support for PAR, PKCE, Server/Client Metadata, and DPoP This library currently doesn't have functional JWT or JWK generation, and both are required for DPoP. You must use an external JWT library to do this, connected to the system via the DPoPSigner.JWTGenerator function. There's also built-in support for services to streamline integration: - GitHub - Mastodon - Google API - Bluesky If you'd like to contribute a similar thing for another service, please open a PR! Integration Swift Package Manager: Usage The main type is the Authenticator . It can execute a URLRequest in a similar fashion to URLSession , but will handle all authentication requirements and tack on the needed Authorization header. Its behavior is controlled via Authenticator.Configuration and URLResponseProvider . By default, the URLResponseProvider will be a private URLSession , but you can customize this if needed. Setting up a Con","default_branch":null,"files":null,"tree":[],"storefront":"/r/ChimeHQ","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ChimeHQ/OAuthenticator/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}