We're using invocable Apex with Named Credentials and External Credentials to handle authentication. However, it seems that without granting "View All" to the object
User External Credential, the External Credential is not available. This permission is not available to the Lightning Platform license type. Is there another way to allow Lightning Platform users to use External Credentials?
Steps I've taken:
- External Credential is mapped via permission set
- Permission set does not have a license type associated with it, and is assigned to both users with Salesforce licenses and Platform licenses
- If a Salesforce licensed user is assigned "View All" on
User External Credential, then the Apex callout works. It fails otherwise
- Since this is invocable Apex, I've tried running the Flow in System mode, ignoring sharing rules. This did not work.
- I've tried declaring my Apex class
without sharing. This did not work.
The documentation for User External Credentials for Enable User External Credentials Through Permission Sets says the following. There is no mention of limitations based on license type.
- From Setup, in the Quick Find box, enter permission sets, and then select Permission Sets.
- Click the permission set for which you want to enable user external credentials.
- Under Apps, click Object Settings.
- Click User External Credentials.
- Click Edit, and assign the permissions that you want.
- Save the settings.