Authenticates using the Azure CLI (az) command-line tool. This credential
requires the Azure CLI to be installed and the user to be logged in via
az login.
Details
The credential uses the az account get-access-token command to retrieve
access tokens. It will use the currently active Azure CLI account and
subscription unless a specific tenant is specified.
Methods
Method new()
Create a new Azure CLI credential
Usage
AzureCLICredential$new(
scope = NULL,
tenant_id = NULL,
process_timeout = NULL,
login = FALSE,
use_bridge = FALSE
)Arguments
scopeA character string specifying the OAuth2 scope. Defaults to
NULL, which uses the scope set during initialization.tenant_idA character string specifying the Azure Active Directory tenant ID. Defaults to
NULL, which uses the default tenant from Azure CLI.process_timeoutA numeric value specifying the timeout in seconds for the Azure CLI process. Defaults to
10.loginA logical value indicating whether to check if the user is logged in and perform login if needed. Defaults to
FALSE.use_bridgeA logical value indicating whether to use the device code bridge webpage during login. If
TRUE, launches an intermediate local webpage that displays the device code and facilitates copy-pasting before redirecting to the Microsoft device login page. Only used whenlogin = TRUE. Defaults toFALSE.
Method get_token()
Get an access token from Azure CLI
Arguments
scopeA character string specifying the OAuth2 scope. If
NULL, uses the scope specified during initialization.
Returns
An httr2::oauth_token() object containing the access token
Method req_auth()
Add authentication to an httr2 request
Arguments
reqAn
httr2::request()objectscopeA character string specifying the OAuth2 scope. If
NULL, uses the scope specified during initialization.
Method account_show()
Show the currently active Azure CLI account information
Examples
# Create credential with default settings
cred <- AzureCLICredential$new()
# Create credential with specific scope and tenant
cred <- AzureCLICredential$new(
scope = "https://management.azure.com/.default",
tenant_id = "your-tenant-id"
)
# To get a token or authenticate a request it is required that
# 'az login' is successfully executed, otherwise it will return an error.
if (FALSE) { # \dontrun{
# Get an access token
token <- cred$get_token()
# Use with httr2 request
req <- httr2::request("https://management.azure.com/subscriptions")
resp <- httr2::req_perform(cred$req_auth(req))
} # }