| Type: | Package | 
| Title: | Authentication for 'Shiny' Apps with 'Amazon Cognito' | 
| Version: | 1.0.5 | 
| Description: | Provides authentication for Shiny applications using 'Amazon Cognito' ( https://aws.amazon.com/es/cognito/). | 
| Imports: | shiny, config, shinyjs, httr, dplyr, base64enc, jsonlite, paws | 
| License: | GPL-3 | 
| BugReports: | https://github.com/chi2labs/cognitoR/issues | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.2.3 | 
| Suggests: | knitr, rmarkdown | 
| VignetteBuilder: | knitr | 
| NeedsCompilation: | no | 
| Packaged: | 2024-01-29 15:51:31 UTC; r227303 | 
| Author: | Pablo Pagnone [aut, cre], Aleksander Dietrichson [aut] | 
| Maintainer: | Pablo Pagnone <pablodp84@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2024-01-30 16:10:02 UTC | 
Allow create an user in Cognito Pool
Description
This method is working with amazing package "paws" , so you need to have the required AWS secret and access key (see example).
Usage
cognito_add_account(
  cognito_config,
  Username,
  UserAttributes,
  DesiredDeliveryMediums,
  ...
)
Arguments
| cognito_config | - Cognito Config list | 
| Username | - Username to use in Cognito - This can be a username, email ,phone depending configuration in Amazon Pool. | 
| UserAttributes | - User attributes: This can be multiples attributes, depends of configuration in Amazon Pool. | 
| DesiredDeliveryMediums | - Medium to delivert email when user is created, can be EMAIL or SMS | 
| ... | extra params to pass to method paws::admin_create_user | 
Details
Also needs to have the config for cognitoR. Specially the pool Id (group_id in config), where the new user is created.
Value
boolean
Examples
## Not run: 
Sys.setenv(
AWS_ACCESS_KEY_ID = '',
AWS_SECRET_ACCESS_KEY = '',
AWS_REGION = ''
)
cognito_add_account("account@mail.com",
                    UserAttributes = list(list(Name = "email", Value = "account@mail.com"),
                                          list(Name = "phone_number", Value = "+12123212312321")
                                     ),
                    DesiredDeliveryMediums = "EMAIL"
                    )
## End(Not run)
Cognito Shiny Module Server
Description
A shiny server function to implement Cognito Authentication in your shiny app.
Usage
cognito_server(
  input,
  output,
  session,
  with_cookie = FALSE,
  cookiename = "cognitor",
  cookie_expire = 7
)
Arguments
| input | - Shiny input | 
| output | - Shiny Output | 
| session | - Shiny Session | 
| with_cookie | - Create a own cookie when is authenticated in Cognito. | 
| cookiename | - name for cookie | 
| cookie_expire | - Expiration time for cookie | 
Value
reactiveValues (isLogged and userdata) and a callback function to do logout in Cognito.
Author(s)
Pablo Pagnone
Cognito Shiny Module UI
Description
A Shiny UI function to be used to implement Amazon Cognito in your shiny app. This UI loads the required JS.
Usage
cognito_ui(id)
Arguments
| id | character - Namespace ID | 
Value
A Shiny UI
Author(s)
Pablo Pagnone
Examples
cognito_ui("demo")
Cookie Shiny Module Server
Description
This server module returns a list with methods to interact with cookie created via JS. You have:
Usage
cookie_server(input, output, session, cookie_name = "user", cookie_expire = 7)
Arguments
| input | shiny input | 
| output | shiny output | 
| session | shiny session | 
| cookie_name | character - Name of cookie to create | 
| cookie_expire | numeric - Expiration timeof cookie | 
Details
- getCookie - Reactive function, returns the content of cookie if exist. Else return FALSE. 
- setCookie - Sets the content for a cookie. (Required param: list()) 
- rmCookie - Removes a cookie 
Value
list of reactive element and function to manage cookies
Author(s)
Pablo Pagnone
Examples
cookie_server(NULL,NULL,NULL)
Cookie Shiny Module UI
Description
This UI module load the required js methods to create/remove/get cookie in browser.
Usage
cookie_ui(id)
Arguments
| id | character | 
Value
a Shiny UI
Examples
cookie_ui("cookie")
Logout Shiny Module Server
Description
Receive a reactive element (isLogged), when is TRUE the logout button and information about is shown.
Usage
logout_server(
  input,
  output,
  session,
  isLogged = reactive(FALSE),
  textlogged = "You are logged in"
)
Arguments
| input | Shiny input | 
| output | Shiny output | 
| session | Shiny session | 
| isLogged | reactive | 
| textlogged | character | 
Value
reactive (the logout button)
Examples
logout_server(NULL, NULL, NULL)
Logout Shiny Module UI
Description
Return a UI with a logout button and information about user logged. By default is hidden and is show with reactive element from logoutServer
Usage
logout_ui(id, textbutton = "Log out", classbutton = "btn-logout btn-danger")
Arguments
| id | character | 
| textbutton | character | 
| classbutton | character | 
Value
Shiny UI
Examples
logout_ui("test")