| Title: | Seamless Single Sign-on for 'shiny' | 
| Version: | 0.2.0 | 
| Description: | Swift and seamless Single Sign-On (SSO) integration. Designed for effortless compatibility with popular Single Sign-On providers like Google and Microsoft, it streamlines authentication, enhancing both user experience and application security. Elevate your 'shiny' applications for a simplified, unified, and secure authentication process. | 
| License: | MIT + file LICENSE | 
| URL: | https://github.com/ixpantia/tapLock | 
| BugReports: | https://github.com/ixpantia/tapLock/issues | 
| Imports: | curl, glue, httr2, jose, lubridate, promises, purrr, stats, stringr, shiny, tower (≥ 0.2.0) | 
| Suggests: | knitr, rmarkdown, testthat (≥ 3.0.0) | 
| VignetteBuilder: | knitr | 
| Config/testthat/edition: | 3 | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.3.2 | 
| NeedsCompilation: | no | 
| Packaged: | 2024-10-25 01:38:45 UTC; andres | 
| Author: | ixpantia, SRL [cph], Andres Quintero [aut, cre] | 
| Maintainer: | Andres Quintero <andres@ixpantia.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2024-10-28 11:50:08 UTC | 
tapLock: Seamless Single Sign-on for 'shiny'
Description
Swift and seamless Single Sign-On (SSO) integration. Designed for effortless compatibility with popular Single Sign-On providers like Google and Microsoft, it streamlines authentication, enhancing both user experience and application security. Elevate your 'shiny' applications for a simplified, unified, and secure authentication process.
Author(s)
Maintainer: Andres Quintero andres@ixpantia.com
Other contributors:
- ixpantia, SRL hola@ixpantia.com [copyright holder] 
See Also
Useful links:
Add authentication middle ware to a 'tower' object
Description
Attaches the necessary authentication layers to a 'tower' object. This will secure any layer added after.
Usage
add_auth_layers(tower, config)
Arguments
| tower | A 'tower' object from the package 'tower' | 
| config | An 'openid_config' object | 
Value
A modified 'tower' object with authentication layers
Add trailing slash to URL
Description
If the app URL does not end with a slash, this function will add one.
Usage
add_trailing_slash(url)
Arguments
| url | A string containing a URL | 
Value
A string containing the URL with a trailing slash
Build a cookie
Description
Builds an HttpOnly cookie from a key and value
Usage
build_cookie(key, value)
Arguments
| key | A string containing the cookie key | 
| value | A string containing the cookie value | 
Value
A string containing the cookie
Build a redirect URI
Description
Builds a redirect URI from an app URL
Usage
build_redirect_uri(app_url)
Arguments
| app_url | A string containing the app URL with a trailing slash | 
Value
A string containing the redirect URI
Decode a token
Description
Decodes a token
Usage
decode_token(config, token)
Arguments
| config | An openid_config object | 
| token | The token to decode | 
Value
A list containing the decoded token's data
Get the expiration date and time of an access token
Description
Gets the expiration date and time of an access token
Usage
expires_at(token)
Arguments
| token | An access_token object | 
Value
A POSIXct object containing the date and time the token expires
Get the expiration time of an access token
Description
Gets the expiration time of an access token
Usage
expires_in(token)
Arguments
| token | An access_token object | 
Value
A duration object containing the time until the token expires
Get the client ID
Description
Gets the client ID for the provider
Usage
get_client_id(config)
Arguments
| config | An openid_config object | 
Value
A string containing the client ID
Get the login URL for the app
Description
Gets the URL that the provider should redirect to after a login attempt.
Usage
get_login_url(config)
Arguments
| config | An openid_config object | 
Value
A string containing the login URL
Get the logout URL for the provider
Description
Gets the URL for SLO (single logout)
Usage
get_logout_url(config)
Arguments
| config | An openid_config object | 
Value
A string containing the logout URL
Get the issued at time of an access token
Description
Gets the issued at time of an access token
Usage
get_token_field(token, field)
Arguments
| token | An access_token object | 
| field | The field to get from the token | 
Value
A POSIXct object containing the date and time the token was issued
Check if an access token is expired
Description
Checks if an access token is expired
Usage
is_expired(token)
Arguments
| token | An access_token object | 
Value
A boolean indicating if the token is expired
Check if an access token is valid
Description
Checks if an access token is valid by checking if it is expired
Usage
is_valid(token)
Arguments
| token | An access_token object | 
Value
A boolean indicating if the token is valid
Create a new auth0_config object
Description
Creates a new auth0_config object
Usage
new_auth0_config(client_id, client_secret, auth0_domain, app_url)
Arguments
| client_id | The client ID for the app | 
| client_secret | The client secret for the app | 
| auth0_domain | The domain for the Auth0 tenant | 
| app_url | The URL for the app | 
Value
An auth0_config object
Create a new entra_id_config object
Description
Creates a new entra_id_config object
Usage
new_entra_id_config(tenant_id, client_id, client_secret, app_url)
Arguments
| tenant_id | The tenant ID for the app | 
| client_id | The client ID for the app | 
| client_secret | The client secret for the app | 
| app_url | The URL for the app | 
Value
An entra_id_config object
Create a new google_config object
Description
Creates a new google_config object
Usage
new_google_config(client_id, client_secret, app_url)
Arguments
| client_id | The client ID for the app | 
| client_secret | The client secret for the app | 
| app_url | The URL for the app | 
Value
A google_config object
New openid configuration
Description
Creates a new openid configuration object for the given provider. You can use this function or the individual provider functions.
Usage
new_openid_config(provider, app_url, ...)
Arguments
| provider | The openid provider to use | 
| app_url | The URL of the application (used to build redirect, login, and logout URLs) | 
| ... | Additional arguments passed to the provider's configuration. This depends on the provider. The  
 The  
 The  
 | 
Value
An openid_config object
Parse cookies
Description
Parses cookies from a string
Usage
parse_cookies(x)
Arguments
| x | A string containing the cookies | 
Value
A list containing the cookies
Print an access token
Description
Prints an access token's expiration date
Usage
## S3 method for class 'access_token'
print(x, ...)
Arguments
| x | An access_token object | 
| ... | Ignored | 
Value
No return value, called for side effects
Refresh the JWKS
Description
Refreshes the JWKS
Usage
refresh_jwks(config)
Arguments
| config | An openid_config object | 
Remove bearer from token
Description
Removes the "Bearer " prefix from a token
Usage
remove_bearer(token)
Arguments
| token | A string containing the token | 
Value
A string containing the token without the "Bearer " prefix
Request a token from the provider
Description
Requests a token from the provider
Usage
request_token(config, authorization_code)
Arguments
| config | An openid_config object | 
| authorization_code | The authorization code to use | 
Value
An access_token object
Get the access token
Description
Gets the access token from the session to be used for internal logic.
Usage
token(session = shiny::getDefaultReactiveDomain())
Arguments
| session | A Shiny session | 
Value
An access_token object