Skip to contents

Let users sign in with their ORCID account. Register your app with ORCID, then pass this provider, the client ID and client secret to oauth_client() with scopes = "openid".

Usage

oauth_provider_orcid(sandbox = FALSE, name = "orcid")

Arguments

sandbox

Logical; use ORCID's sandbox instead of production.

name

Optional provider name (default "orcid").

Value

OAuthProvider object configured for ORCID.

Details

ORCID's OIDC login uses the openid scope; /authenticate is its separate OAuth login scope. Its OIDC metadata does not advertise profile or email scopes. Additional record permissions depend on whether you registered a Public or Member API client.

Sandbox and production require separate credentials and user accounts. Production redirect URIs must use HTTPS.

Advanced registration settings

This preset uses client_secret_post authentication. ORCID does not advertise PKCE, so the helper uses client authentication and OIDC nonce validation without PKCE. See the ORCID authentication guide.

Examples

if (FALSE) { # \dontrun{
oauth_provider_orcid()
oauth_provider_orcid(sandbox = TRUE)
} # }