R/arc-auth.R
auth.Rd
Authorize your R session to connect to an ArcGIS Portal. See details.
Usage
auth_code(client = Sys.getenv("ARCGIS_CLIENT"), host = arc_host())
auth_client(
client = Sys.getenv("ARCGIS_CLIENT"),
secret = Sys.getenv("ARCGIS_SECRET"),
host = arc_host(),
expiration = 120
)
auth_binding()
auth_user(
username = Sys.getenv("ARCGIS_USER"),
password = Sys.getenv("ARCGIS_PASSWORD"),
host = arc_host(),
expiration = 60
)
auth_key(api_key = Sys.getenv("ARCGIS_API_KEY"), host = arc_host())
refresh_token(token, client = Sys.getenv("ARCGIS_CLIENT"), host = arc_host())
validate_or_refresh_token(
token,
client = Sys.getenv("ARCGIS_CLIENT"),
host = arc_host(),
refresh_threshold = 0,
call = rlang::caller_env()
)
Arguments
- client
an OAuth 2.0 developer application client ID. By default uses the environment variable
ARCGIS_CLIENT
.- host
default
"https://www.arcgis.com"
- secret
an OAuth 2.0 developer application secret. By default uses the environment variable
ARCGIS_SECRET
.- expiration
the duration of the token in minutes.
- username
default
Sys.getenv("ARCGIS_USER")
. Your username to login. Do not hard code this value.- password
default
Sys.getenv("ARCGIS_PASSWORD")
. Your password to login. Do not hard code this value.- api_key
default
Sys.getenv("ARCGIS_API_KEY")
. A character scalar of an ArcGIS Developer API key.- token
an
httr2_token
as created byauth_code()
or similar- refresh_threshold
default
0
. If token expiry is within this threshold (in seconds) the token will be refreshed only if arefresh_token
is available. Token refreshing is only possible withauth_code()
flow.- call
-
The execution environment of a currently running function, e.g.
call = caller_env()
. The corresponding function call is retrieved and mentioned in error messages as the source of the error.You only need to supply
call
when throwing a condition from a helper function which wouldn't be relevant to mention in the message.Can also be
NULL
or a defused function call to respectively not display any call or hard-code a code to display.For more information about error calls, see Including function calls in error messages.
Details
ArcGIS Online and Enterprise Portals utilize OAuth2 authorization via their REST APIs.
auth_code()
is the recommend OAuth2 workflow for interactive sessionsauth_client()
is the recommended OAuth2 workflow for non-interactive sessionsauth_user()
uses legacy username and password authorization using thegenerateToken
endpoint. It is only recommended for legacy systems that do not implement OAuth2.auth_binding()
fetches a token from the active portal set byarcgisbinding
. Usesarcgisbinding::arc.check_portal()
to extract the authorization token. Recommended if using arcgisbinding.