Extension authentications (IRPCExtensionAuthentications)

View as Markdown

Manages the credentials that the vault uses to access external systems, such as external repositories connected to the vault, on behalf of the user.

gRPC serviceMFiles.IRPCExtensionAuthentications
Book and levelVault API, standard
Methods8
Proto filemfiles/IRPCExtensionAuthentications.proto

Overview

Some vault applications and external repository connections need the user's own credentials for the external system. The server keeps those credentials per user and target. M-Files clients use this service in their "external repositories" dialogs.

  1. GetExtensionAuthenticationTargets lists the external systems (targets) and the authentication methods they accept.
  2. GetExtensionAuthenticationStatus tells for which targets the caller has stored credentials.
  3. StoreExtensionAuthenticationCredentials logs the caller in to a target by storing credentials.
  4. LogoutWithExtensionAuthentication removes them.

All methods need a vault session; anonymous sessions cannot store credentials. A target is identified by ExtensionAuthenticationTarget.id. Methods that name an unknown target generally succeed without doing anything, so check the result with GetExtensionAuthenticationStatus.

Credentials for the whole vault (common, background and permission-reading accounts) are set by vault administrators with StoreExtensionAuthenticationSpecialCredentials. Send credentials only over TLS.

Methods

MethodSummaryFacts
GetExtensionAuthenticationStatusLists the targets for which the caller has stored credentials, with the account name used.read session idempotent returns metadata structure version
GetExtensionAuthenticationTargetsLists the external systems that accept credentials through this service.read session idempotent returns metadata structure version
LogInAsDifferentUserForExtensionAuthenticationAsks the external system to start a new login for the caller, so that the caller can switch to another account there. Used by M-Files clients; applications rarely call it.write session returns metadata structure version
LoginWithExtensionAuthenticationLogs the caller in to an external system with encrypted credentials.write session returns metadata structure version
LogoutWithExtensionAuthenticationRemoves the caller's stored credentials for an external system and logs the caller out of it.write session returns metadata structure version
RemoveExtensionAuthenticationSpecialCredentialsRemoves vault-wide credentials for an external system. Used by vault administration tools.write session returns metadata structure version
StoreExtensionAuthenticationCredentialsLogs the caller in to an external system by storing the caller's credentials for it.write session returns metadata structure version
StoreExtensionAuthenticationSpecialCredentialsStores vault-wide credentials for an external system: the common, background or permission-reading account. Used by vault administration tools.write session returns metadata structure version