| 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