The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

connectcreds

lifecycle R-CMD-check

connectcreds provides low-level utilities for Shiny developers and R package authors building tools that make use of Posit Connect’s viewer-based credentials.

Installation

You can install connectcreds from CRAN with:

install.packages("connectcreds")

Or, install the development version of connectcreds from GitHub with:

# install.packages("pak")
pak::pak("posit-dev/connectcreds")

Usage

connectcreds includes helper functions for implementing Posit Connect’s viewer-based credentials in Shiny applications. These helpers are meant to be called in the context of a Shiny server function, as follows:

server <- function(input, output, session) {
  token <- "PAT for local development"
  if (connectcreds::has_viewer_token()) {
    token <- connectcreds::connect_viewer_token()
  }

  # ...
}

Usually, though, these helpers will be used internally by packages that authenticate with various services. For example, here is a simplified version of gh::gh_token() that returns a GitHub OAuth token for the viewer on Connect but uses a GitHub personal access token when testing locally:

gh_token <- function() {
  rlang::check_installed("connectcreds", "for viewer-based authentication")
  if (connectcreds::has_viewer_token("https://github.com")) {
    token <- connectcreds::connect_viewer_token("https://github.com")
    return(token$access_token)
  }
  Sys.getenv("GITHUB_PAT")
}

server <- function(input, output, session) {
  # A Shiny output that shows the user's GitHub username:
  output$gh_handle <- renderText({
    resp <- gh::gh_whoami(.token = gh_token())
    resp$login
  })

  # ...
}

License

MIT (c) Posit Software, PBC

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.