Запрос токенов доступа JWT с помощью R - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь получить токен доступа OAuth с помощью JWT через Box API в R.

Я скопировал код Python в инструкциях на R, но он продолжает даватьмне 400 ошибка, когда я иду, чтобы запросить токен доступа. Это код, который я до сих пор:

library(curl)
library(httr)
library(openssl)
library(jose)
library(jsonlite)

# Read JSON config
config <- jsonlite::fromJSON("...config.json")

# Decrypt private key
appAuth <- config$boxAppSettings$appAuth
privateKey <- appAuth$privateKey
passphrase <- appAuth$passphrase

key <- read_key(privateKey, password = passphrase)

# Create JWT assertion

claims <- jwt_claim(iss = config$boxAppSettings$clientID,
          sub = config$enterpriseID,
          box_sub_type = 'enterprise',
          aud = authentication_url, 
          exp = as.numeric(Sys.time()) + 120,
          jti = paste(as.character(rand_bytes(64)), sep = "", collapse = ""))

keyId <- appAuth$publicKeyID

assertion <-
  jwt_encode_sig(
    claim = claims,
    key = key,
    size = 512,
    header = list('kid' = keyId)
  )

# Request Access Token

authentication_url <- 'https://api.box.com/oauth2/token'

url <- parse_url(authentication_url)

params <- list('grant_type'= 'urn:ietf:params:oauth:grant-type:jwt-bearer',
                'assertion' = assertion,
                'client_id' = config$boxAppSettings$clientID,
                 'client_secret' = config$boxAppSettings$clientSecret)

url$query <- params

url_full <- build_url(url)

httr::GET(url_full)

Кто-нибудь знает, как заставить это работать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...