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.
A httr2 request object.
An oauth_client().
A list of claims. If all elements of the claim set are static
apart from iat, nbf, exp, or jti, provide a list and
jwt_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 call jwt_claim().
Function use to sign claim, e.g. jwt_encode_sig().
Additional arguments passed to signature, e.g.
size, header.
Scopes to be requested from the resource owner.
List containing additional parameters passed to the
token_url.
req_oauth_bearer_jwt() returns a modified HTTP request that will
use OAuth; oauth_flow_bearer_jwt() returns an oauth_token.
Other OAuth flows:
req_oauth_auth_code(),
req_oauth_client_credentials(),
req_oauth_password(),
req_oauth_refresh(),
req_oauth_token_exchange()
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 : <list>
#> * auth_oauth: TRUE