# IRPCExtensionAuthentications.GetExtensionAuthenticationTargets

Location: [gRPC API](https://developer.m-files.com/APIs/gRPC-API/index.md) > [Vault API](https://developer.m-files.com/APIs/gRPC-API/vault/index.md) > [Extension authentications](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCExtensionAuthentications/index.md)

HTML version: https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCExtensionAuthentications/GetExtensionAuthenticationTargets/

Badges: `Vault API / standard` `read` `session` `idempotent` `returns metadata structure version`

Lists the external systems that accept credentials through this service.

- **Service:** [Extension authentications](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCExtensionAuthentications/index.md) `MFiles.IRPCExtensionAuthentications`
- **gRPC method:** `/MFiles.IRPCExtensionAuthentications/GetExtensionAuthenticationTargets`
- **HTTP (mf-http-grpc):** `POST /grpc/v1/get-extension-authentication-targets`
- **Request:** [`GetExtensionAuthenticationTargetsRequest`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCExtensionAuthentications/GetExtensionAuthenticationTargets/index.md#request)
- **Response:** [`GetExtensionAuthenticationTargetsResponse`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCExtensionAuthentications/GetExtensionAuthenticationTargets/index.md#response)
- **Book and level:** Vault API, standard
- **Kind:** read
- **Session:** Required: the session ID from LogIn in the mfiles-session-id-bin metadata.
- **Idempotent:** yes
- **Returns metadata structure version:** yes (in the mfiles-metadata-version-bin trailer)
- **Streaming:** none (unary)

<a id="remarks"></a>

## Remarks

- Requires a vault session. No special vault rights are needed.
- Empty when the vault has no external system that accepts credentials this way.

<a id="request"></a>

## Request: GetExtensionAuthenticationTargetsRequest

No fields.

<a id="response"></a>

## Response: GetExtensionAuthenticationTargetsResponse

> Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

| Field | Type | Description |
|---|---|---|
| `targets[]` | repeated [`ExtensionAuthenticationTarget`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ExtensionAuthenticationTarget/index.md) | The targets. Pass `id` as `target` to the other methods, and use `supported_plugins` to choose how to authenticate. |
| `targets[].id` | `string` | The identifier of the target. Pass it as `target` to the other methods of [IRPCExtensionAuthentications](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCExtensionAuthentications/index.md). |
| `targets[].name` | `string` | The display name of the target. |
| `targets[].icon_id` | `string` | An identifier of the target's icon. |
| `targets[].requires_user_specific_authentication` | `bool` | True if each user must store their own credentials for this target. |
| `targets[].supported_plugins[]` | repeated [`PluginInfo`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.PluginInfo/index.md) | The authentication methods the target accepts. The `name` of the chosen one goes to `ExtensionAuthenticationResponse.plugin_configuration`. |
| `targets[].supported_plugins[].is_default` | `bool` | True if this is the default configuration. |
| `targets[].supported_plugins[].is_scope_independent` | `bool` | True if the plug-in can be used without a configuration scope. |
| `targets[].supported_plugins[].name` | `string` | The configuration's name. Send it as `PluginData.plugin_name`. |
| `targets[].supported_plugins[].assembly_name` | `string` | The plug-in's implementation, for example `MFiles.AuthenticationProviders.OAuth`. |
| `targets[].supported_plugins[].bridge_class_name` | `string` | Internal to the server. |
| `targets[].supported_plugins[].system_configuration` | [`NamedValueArray`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.NamedValueArray/index.md) | Where the configuration comes from: `Scope` (send as `PluginData.configuration_scope`) and, for vault-stored configurations, `VaultGUID`. |
| `targets[].supported_plugins[].plugin_configuration` | [`NamedValueArray`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.NamedValueArray/index.md) | The plug-in's client-side settings. For an OAuth plug-in these include `AuthorizationEndpoint`, `TokenEndpoint`, `ClientID`, `Scope` and `RedirectURI`. |
