NEWS
AzureAuth 1.3.3 (2021-09-13)
- Documentation update only:
- Clarify that you can use
get_managed_token
to obtain tokens with a user-defined identity, not just a system identity.
- Clarify the distinction between authentication and authorization in the
get_azure_token
help, and also in the Shiny vignette.
- Add a webapp (Shiny) scenario to the "Common authentication scenarios" vignette.
AzureAuth 1.3.2 (2021-05-19)
- Change the default caching behaviour to disable the cache if running inside Shiny.
- Update Shiny vignette to clean up redirect page after authenticating (thanks to Tyler Littlefield).
- Revert the changed behaviour for caching directory creation in 1.3.1.
- Add a
create_AzureR_dir
function to create the caching directory manually. This can be useful not just for non-interactive sessions, but also Jupyter and R notebooks, which are not technically interactive in the sense that they cannot read user input from a console prompt.
AzureAuth 1.3.1 (2021-03-30)
- Allow specifying the location of the token caching directory in the environment variable
R_AZURE_DATA_DIR
.
- Change
clean_token_directory
to actually clean the directory (delete all files). This is because the main non-token objects found here are AzureRMR and AzureGraph logins, which are orphaned once their backing tokens are deleted. Deleting them as well is less confusing, as a message will be displayed saying to create a new login.
- Always create the token caching directory, rather than asking first. This should result in consistent behaviour for both interactive and non-interactive sessions.
- Add a vignette outlining the app registration settings and
get_azure_token
arguments for some common authentication scenarios.
AzureAuth 1.3.0 (2021-01-11)
- Allow obtaining tokens for the
organizations
and consumers
generic tenants, in addition to common
.
- More robust handling of expiry time calculation for AAD v2.0 authentication.
AzureAuth 1.2.5 (2020-10-12)
- Change maintainer email address.
AzureAuth 1.2.4 (2020-05-23)
- Allow any scheme to be used in the URI for a token resource, not just HTTP[S].
- Documentation/vignette fixes.
AzureAuth 1.2.3 (2019-11-12)
is_guid
, normalize_guid
and normalize_tenant
now accept vector arguments. normalize_guid
throws an error if any of its argument values is not a valid GUID.
get_azure_token
will now display the authentication method it chooses if the auth_type
argument is not explicitly specified. To avoid surprises, it's still recommended that you specify auth_type
when obtaining a token.
- New
load_azure_token
function to retrieve a token from the cache, given its hash value.
- Fixes to allow authenticating personal accounts without a tenant.
AzureAuth 1.2.2 (2019-09-13)
- Only call
utils::askYesNo
if R version is 3.5 or higher.
AzureAuth 1.2.1 (2019-09-08)
- Pass the resource and scope as explicit parameters to the AAD endpoint when refreshing a token. Among other things, this allows using a refresh token from one resource to obtain an access token for another resource.
- Use
utils::askYesNo
for prompts, eg when creating the AzureR caching directory and deleting tokens; this fixes a bug in reading the input. As a side-effect, Windows users who are using RGUI.exe will see a popup dialog box instead of a message in the terminal.
AzureAuth 1.2.0 (2019-08-21)
- Changes to token acquisition code to better integrate with Shiny. Use the
build_authorization_uri
and get_device_creds
functions to initiate the authorization step from within a Shiny web app. get_azure_token
has new auth_code
and device_creds
arguments for passing in authorization details obtained separately. See the "Authenticating from Shiny" vignette for a skeleton example app.
- Add
use_cache
argument to get_azure_token
and get_managed_token
, which controls whether to cache tokens. Set this to FALSE to skip reading cached credentials from disk, and to skip saving credentials to the cache.
- Make
decode_jwt
a generic, with methods for character strings, AzureToken
objects and httr::Token
objects.
- Add
extract_jwt
generic to get the actual token from within an R object, with methods for character strings, AzureToken
objects and httr::Token
objects.
- Fix bug in checking the expiry time for AAD v2.0 tokens.
- Extend
get_managed_token
to work from within Azure Functions.
- Refactor the underlying classes to represent authentication flows, which have a much greater impact on the program logic than AAD version. In place of
AzureTokenV1
and AzureTokenV2
classes, there are now AzureTokenAuthCode
, AzureTokenDeviceCode
, AzureTokenClientCreds
, AzureTokenOnBehalfOf
, AzureTokenResOwner
, and AzureTokenManaged
. There should be no user-visible changes in behaviour arising from this.
AzureAuth 1.1.1 (2019-06-07)
- New
get_managed_token
function to obtain a token for a managed identity. Note this only works within a VM, service or container to which an identity has been assigned.
AzureAuth 1.1.0 (2019-05-10)
- Much improved support for authenticating with a certificate. In the
certificate
argument, specify either the name of a PEM/PFX file, or an AzureKeyVault object representing a cert.
- Support providing a path in the
aad_host
argument, for Azure B2C logins.
- Fix bug that prevented
token_args
argument from being passed to the token endpoint.
- If authentication fails using the
authorization_code
flow, print the AAD error message, if possible.
- Add support for the
on_behalf_of
authorization flow.
AzureAuth 1.0.2 (2019-04-23)
- Corrections to vignette and readme.
- Make prompt to create caching directory more generic, since other AzureR packages will also use it.
AzureAuth 1.0.1 (2019-03-22)
- Export
decode_jwt
, a utility function to view the token data.
- Force tokens to be cached using version 2 of the RDS format. This is mostly to ensure backward compatibility if the default format used by
saveRDS
ever changes.
AzureAuth 1.0.0 (2019-02-22)