Authenticate using a Bearer JWT (JSON web token) as an authorization grant to get an access token, as defined by Section 2.1 of RFC 7523. It is often used for service accounts, accounts that are used primarily in automated environments.
Learn more about the overall OAuth authentication flow in https://httr2.r-lib.org/articles/oauth.html.
Arguments
- req
A httr2 request object.
- client
An
oauth_client()
.- claim
A list of claims. If all elements of the claim set are static apart from
iat
,nbf
,exp
, orjti
, provide a list andjwt_claim()
will automatically fill in the dynamic components. If other components need to vary, you can instead provide a zero-argument callback function which should calljwt_claim()
.- signature
Function use to sign
claim
, e.g.jwt_encode_sig()
.- signature_params
Additional arguments passed to
signature
, e.g.size
,header
.- scope
Scopes to be requested from the resource owner.
- token_params
List containing additional parameters passed to the
token_url
.
Value
req_oauth_bearer_jwt()
returns a modified HTTP request that will
use OAuth; oauth_flow_bearer_jwt()
returns an oauth_token.
See also
Other OAuth flows:
req_oauth_auth_code()
,
req_oauth_client_credentials()
,
req_oauth_password()
,
req_oauth_refresh()
,
req_oauth_token_exchange()
Examples
req_auth <- function(req) {
req_oauth_bearer_jwt(
req,
client = oauth_client("example", "https://example.com/get_token"),
claim = jwt_claim()
)
}
request("https://example.com") |>
req_auth()
#> <httr2_request>
#> GET https://example.com
#> Body: empty
#> Policies:
#> • auth_sign: a list
#> • auth_oauth: TRUE