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
- Apex Reference Guide: deleteCredential
- Blog: Understanding Named Credentials