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