- bug fix to correct registration flow for email invite required
- new
add_auth_to_spec()
function to allow you to use the Plumber swagger docs with the newauth_filter()
function. max_sessions
argument added todeploy_app()
which enables the new Polished Hosting load balancer.gh_pat
argument added todeploy_app()
which can be set to deploy/use private GitHub packages on Polished Hosting.- new function
auth_filter()
which makes it very simple to add Polished Auth to Plumber APIs. - more user friendly error messages for toast notifications.
- added Hosting support for new "me-west1" region.
- removed
admin_mode
argument frompolished_config()
. - added optional
role_name
arg toadd_user_role()
deploy_app()
now throws a more user friendly error message if the app is too large to deploy to Polished Hosting.- Polished Hosting supports instances with more RAM. 16 and 32 GiB RAM instances are now available.
- the
custom_admin_ui
argument forsecure_ui()
now takes a fully custom shiny app. This allows users to fully customize their Admin Panel. Previously you could only add tabs to the existing default Admin Panel, but with this change, you can fully replace the default Admin Panel with a custom Shiny app. - improved UI of email verification page.
update_user()
API wrapper function has been created.- 2 factor authentication using TOTP has been implemented. This works with authenticator apps like Google Authenticator. You can enable it by setting the
is_two_fa_required
argument ofpolished_config()
toTRUE
. - bug fix - fixed auto email verification check on email verification page.
- Fixed bug with
is_auth_required
argument forpolished_config()
.
- major internal refactor to simplify how user sessions are handled. We remove the reliance
on R6. We now just use a regular base R environment to to hold the configuration and regular R functions (rather than R6 methods) to handle user sessions. You can now access all
polished
auth configuration from your Shiny app or other R packages that build uponpolished
via thepolished::.polished
environment. - new argument
override_user
added tosecure_server()
. When this argument is set toTRUE
(the default), thesession$userData$user()
polished
user will be accessible in thesession$user
. Set this argument toFALSE
if you are using RStudio Connect or another hosting option that uses thesession$user
and you need access to the value they set forsession$user
. - fix to allow for multiple custom
tabItem
s on the Admin Panel. - The Admin Panel query string has been changed from
?page=admin_panel
to?page=admin
- new
get_api_key()
function that will check for the environment variablePOLISHED_API_KEY
. - new
polished_config()
function to replaceglobal_sessions_config()
which has been deprecated. - Bug Fix #172 - browser previously refreshed when URL query or hash parameters changed, but user remained on the Shiny app. This has been updated to be consistent with normal Shiny behavior (i.e. Shiny session does not reload when URL query or hash parameters update).
- Added
secure_rmd()
, which can be used to render and secure any R Markdown (.Rmd
) document. Rendering is handled byrmarkdown::render
and the then the rendered document is secured withpolished
authentication.
- Added 4 additional Polished Hosting regions (see documentation for
region
argument ofpolished::deploy_app()
) - App names (i.e.
app_name
) can now include upper case letters & spaces (Example:app_name = "Example App Name"
) - added
cache
argument todeploy_app()
to set whether or not to use a cached build of your Shiny app on Polished Hosting. - added
golem_package_name
argument todeploy_app()
to allow for deploying Golem Shiny apps to Polished Hosting. - removed options to pass an "account module" and/or a "splash page module" to the
secure_ui()
andsecure_server()
functions. These were experimental arguments for extendingpolished
. We now have a better generalized solution for extendingpolished
-- more to come soon. - export the
api_list_to_df()
function - added new
cookie_expires
argument toglobal_sessions_config()
, allowing you to set the cookie expiration for app users
- created API wrapper functions for programmatically managing users, apps, user invites,
roles, etc. See the new API Wrappers vignette for details (
vignette("api_wrappers", package = "polished")
). - added 93 new tests for the above mentioned new API wrapper functions.
- removed
api_url
argument fromglobal_sessions_config()
. This argument is only used internally during development, so there is no reason to expose it to package users. - Bug Fix: fixed check for user already registered during sign in process.
- added
button_color
argument tosign_in_ui_default()
. - added
tlmgr
argument todeploy_app()
which allows support for generating pdf documents from Rmarkdown.
- created new
deploy_app()
function for deploying apps to Polished Hosting. - removed dependencies on
shinydashboardPlus
due to breaking change withdashboardHeaderPlus()
anddashboardPagePlus()
. sign_out_from_shiny()
can now be used in thesession$onSessionEnded()
oronStop()
to sign the user out when the user's session ends.- added support for package dependency detection #129
- added cookie options
{ sameSite: "none", secure: true }
when the app is being served over https. This allowspolished
authentication to work in an iframe on most browsers. - added email validation to email inputs in the sign in and registration modules.
- allow for a function UI be passed to the "ui" argument of
secure_ui()
. - added
redirect_page
argument tosign_out_from_shiny()
- new
is_auth_required
argument added toglobal_sessions_config()
which (when set toFALSE
) allows users to access your app without being signed in. By default this argument is set toTRUE
. #109 - moved toast notification to top (better for mobile) and extended
showDuration
. #107
- New "account" and "splash" pages. We will share more on these new pages in upcoming blog posts.
- Added
is_email_verification_required
argument toglobal_sessions_config()
that allows you to disable email verification. - Admin Panel > User Access > Add User: added checkbox to send an email invite to a newly invited user
- removed usage dashboard from Admin Panel. This dashboard has been superseded by the dashboard at https://dashboard.polished.tech #102
- added
background_image
argument tosign_in_ui_default()
to allow for a full screen image for the sign in page background. - only use the
"email"
sign in provider by default rather thanc("google", "email")
. - added customizable sign out button to
secure_static()
#93 - standardized and documented process for using fully customized sign in and registration pages #92. New functions
sign_in_js()
andsign_in_check_jwt()
, and new vignette on how to use these functions to create fully customized sign in and registration pages. - add
sign_in_module_2
as an alternative premade sign in page.sign_in_module_2
is designed to look nice when using social sign in providers (like Google and Microsoft) in addition to email/password. - Removed
sign_in_no_invite_module
.sign_in_module
andsign_in_module_2
now have anis_invite_requirement
argument, so there is no longer a need for a dedicatedsign_in_no_invite_module
.
- Added a
NEWS.md
file to track changes to the package. - Initial CRAN release of
polished