R/ct_token.R

Defines functions ct_token

Documented in ct_token

#' Retrieve Citi Access Token
#'
#' \code{ct_auth2} Access token
#'
#' For 2-legged authentication with the Citi API. Returns the access token to be
#' in all subsequent calls.
#'
#' @param clinet_id is a string
#' @param client_secret is a string
#' @return character string access token
#'
#' @examples
#' ct_token()
#'
#' \dontrun{
#' sum("a")
#' }
#' @export
ct_token <- function(client_id = Sys.getenv("CT_CLIENT_ID"), client_secret = Sys.getenv("CT_CLIENT_SECRET")) {

  ct_auth <- openssl::base64_encode(paste0(client_id, ":", client_secret))

  ct_resp <- httr::POST(url = "https://sandbox.apihub.citi.com/gcb/api/clientCredentials/oauth2/token/us/gcb",
                        httr::add_headers(authorization= paste("Basic", ct_auth), "content-type"="application/x-www-form-urlencoded"),
                        body = paste0("grant_type=client_credentials&scope=","%2Fapi"))

  httr::stop_for_status(ct_resp)
  ct_token <- jsonlite::fromJSON(httr::content(ct_resp, as = "text", encoding = "UTF-8"), flatten = TRUE)
  ct_token$access_token
  }
bill-ash/citiR documentation built on Nov. 14, 2019, 12:12 a.m.