Manage an OAuth Named Credential

Here are some examples of things that you can do with named and external credentials.

  • Refresh a token
  • Delete user external credentials

Example: Refresh a Token 

Here’s how to programmatically refresh a token.

1String externalCredential = 'GitHubOAuth';
2String principalName = 'Markdown Access';
3ConnectApi.CredentialPrincipalType principalType = ConnectApi.CredentialPrincipalType.NamedPrincipal;
4
5ConnectApi.CredentialInput credentialInput = new ConnectApi.CredentialInput();
6credentialInput.externalCredential = externalCredential;
7credentialInput.principalName = principalName;
8credentialInput.principalType = principalType;
9credentialInput.authenticationProtocol = ConnectApi.CredentialAuthenticationProtocol.OAuth;
10credentialInput.credentials = new Map<String, ConnectApi.CredentialValueInput>();
11
12ConnectApi.Credential refreshedCredential = ConnectApi.NamedCredentials.createCredential(credentialInput, ConnectApi.CreateCredentialAction.Refresh);

Example: Delete User External Credentials 

This method deletes the user external credentials, which store the encrypted access tokens used for named credential callouts. It doesn’t delete the external credential itself. Apex can be used only to create a named credential, not edit or delete one.

1ConnectApi.NamedCredentials.deleteCredential('GitHubOAuth', 'Markdown Access', principalType);

See Also