Provider-Agnostic OAuth Authentication for 'shiny' Applications
Build an authorized httr2 request with Bearer token
Create a custom cache backend (cachem-like)
Throw an error if any safety checks have been disabled
Get user info from OAuth 2.0 provider
Handle OAuth 2.0 callback: verify state, swap code for token, verify t...
Introspect an OAuth 2.0 token
Check if URL(s) are HTTPS and/or in allowed hosts lists
Create generic OAuthClient
OAuth 2.0 & OIDC authentication module for Shiny applications
Create an Auth0 OAuthProvider (via OIDC discovery)
Create a GitHub OAuthProvider
Create a Google OAuthProvider
Create a Keycloak OAuthProvider (via OIDC discovery)
Create a Microsoft (Entra ID) OAuthProvider
Discover and create an OpenID Connect (OIDC) OAuthProvider
Create a generic OpenID Connect (OIDC) OAuthProvider
Create an Okta OAuthProvider (via OIDC discovery)
Create a Slack OAuthProvider (via OIDC discovery)
Create a Spotify OAuthProvider
Create generic OAuthProvider
OAuthClient S7 class
OAuthProvider S7 class
OAuthToken S7 class
Prepare a OAuth 2.0 authorization call and build an authorization URL
Refresh an OAuth 2.0 token
shinyOAuth: Provider-Agnostic OAuth Authentication for 'shiny' Applica...
Decrypt and validate OAuth state payload
Fetch and remove the single-use state entry
Add JavaScript dependency to the UI of a Shiny app
Provides a simple, configurable, provider-agnostic 'OAuth 2.0' and 'OpenID Connect' (OIDC) authentication framework for 'shiny' applications using 'S7' classes. Defines providers, clients, and tokens, as well as various supporting functions and a 'shiny' module. Features include cross-site request forgery (CSRF) protection, state encryption, 'Proof Key for Code Exchange' (PKCE) handling, validation of OIDC identity tokens (nonces, signatures, claims), automatic user info retrieval, asynchronous flows, and hooks for audit logging.
Useful links