IRPCLogin.GetAuthenticationConfiguration
Vault API / core session no session idempotent
Tells a client, before login, whether to authenticate with an authentication plug-in (single sign-on) and returns the plug-in's client-side configuration.
| Service | Login and sessions MFiles.IRPCLogin |
|---|---|
| gRPC method | /MFiles.IRPCLogin/GetAuthenticationConfiguration |
| HTTP (mf-http-grpc) | POST /grpc/v1/get-authentication-configuration |
| Request | GetAuthenticationConfigurationRequest |
| Response | GetAuthenticationConfigurationResponse |
| Book and level | Vault API, core |
| Kind | session |
| Session | Not needed: the call can be made before logging in. |
| Idempotent | yes |
| Returns metadata structure version | no |
| Streaming | none (unary) |
Remarks
Needs no session. The server looks for a configuration that matches the request; the vault can be
given by vault_guid or resolved from host_name (the host name the client connects to, as
configured for the vault). A configuration can be limited to one account type (configuration scope
such as *:WINDOWS:); it then matches only a request with that type. To find the single sign-on
configuration of a vault, set type to ACCOUNT_TYPE_WINDOWS: users who sign in through an
identity provider have Windows-type login accounts.
auth_methodAUTH_METHOD_PLUGIN: log in withAUTH_DATA_TYPE_PLUGINusing one ofplugin_infos. On M-Files Cloud this is the identity provider sign-in.auth_methodAUTH_METHOD_UNSPECIFIEDwith noplugin_infos: no plug-in applies; log in with user name and password or Windows authentication.
target_plugin_name must be empty; any other value fails with E_INVALIDARG.
Request: GetAuthenticationConfigurationRequest
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 |
|---|---|---|
remote_can_be_null | ServerAddress | Leave unset. Naming a remote server needs a server setting that is off by default. |
remote_can_be_null.network_address | string | The network address (name) of the server. |
remote_can_be_null.endpoint | string | The endpoint of the server. |
remote_can_be_null.protocol_sequence | string | The protocol sequence of the server. |
user_name | string | Optional. The user name typed by the user, to find a configuration scoped to it. |
domain | string | Optional. The user's domain, to find a configuration scoped to it. |
vault_guid | string | Optional. The vault the user is logging in to. When empty or all zeros, the vault is resolved from host_name. |
host_name | string | Optional. The host name the client uses to reach the server, for example the vault's cloud address. Used to find the vault and host-specific configurations. |
type | AccountType | The account type to find a configuration for. Leave unset when unknown.Values: ACCOUNT_TYPE_UNINITIALIZED (0), ACCOUNT_TYPE_MFILES (1), ACCOUNT_TYPE_WINDOWS (2). |
target_plugin_name | string | Deprecated. Must be empty; any other value fails with E_INVALIDARG. |
capabilities | ClientCapabilities | The client's capabilities, as in ClientData.capabilities. |
capabilities.property_def_searchability | bool | Property definitions can be configured searchable or unsearchable. |
capabilities.unmanaged_objects | bool | Client understands unmanaged objects. |
capabilities.extension_authentication_data_push | bool | Client supports data push for extension authentications. |
capabilities.custom_api_data_push | bool | Client supports server data push for M-Files API & custom implementations. |
capabilities.unknown_file_size | bool | Client can handle unknown or estimated file size. |
capabilities.typed_metadata_suggestions | bool | Client can handle metadata suggestions to all M-Files types. |
capabilities.long_authentication_attempt_identifier | bool | The client handles the long (32-byte) authentication attempt identifier in AuthenticationAttemptIdentifier.data. |
capabilities.reverse_grouping_level | bool | Client supports reverse grouping levels. |
capabilities.object_permissions_for_client | bool | Client supports ObjectPermissionsForClient. |
capabilities.hierarchical_object_type_properties | bool | Properties with hierarchy for real object types supported. |
capabilities.smart_search | bool | Client supports Smart Search engine type. |
capabilities.recurring_notifications | bool | Client supports recurring notifications. |
capabilities.smart_search_facets | bool | Client supports smart search facets. |
capabilities.vault_role_manage_private_views | bool | Client supports a vault role for managing private views. |
capabilities.allow_all_see_deleted_conflict_objects | bool | Client supports that all users can see deleted conflict objects. |
capabilities.advanced_password_hashes | bool | Client supports hashing passwords with advanced algorithms, including at least PBKDF2. |
capabilities.anonymous_authentication | bool | Client supports anonymous authentication. |
capabilities.dataset_deleted_condition | bool | Client supports deleted/not deleted-condition in a dataset definition. |
capabilities.unified_password_hashes | bool | Client supports transmitting hashing passwords with the same encoding between all gRPC methods. |
capabilities.duplicates_view | bool | Client supports the duplicates view. |
capabilities.property_action_state_transition_time | bool | Client supports state transition time setting via state property action. |
capabilities.at_mentions | bool | Client supports the @mentions in comment texts. |
capabilities.additive_permissions_via_automatic_aclcomponents | bool | Client supports additive permissions via automatic ACL components. |
capabilities.vault_level_optimization_jobs | bool | Client supports vault-level optimization jobs. |
capabilities.visitor_links_supported | bool | Client supports new interface methods for visitor links. |
capabilities.object_type_filter_multi_select_views | bool | Client supports multiple object types as a filter for views and advanced searches. |
capabilities.generate_v2_azure_auth_conf_supported | bool | Client supports generating authentication configuration for Azure v2.0 endpoint. |
capabilities.structure_item_groups_in_export | bool | Client supports structure item groups in the export job. |
capabilities.aino_search | bool | Client supports Aino Search engine type. |
capabilities.conversation_history | bool | Client supports conversation history. |
capabilities.generate_login_service_auth_conf | bool | Client supports generating authentication configuration for M-Files Login Service. |
capabilities.sub_folders_in_views | bool | Client supports subfolders in views. |
capabilities.reverse_references_in_pseudo_user_aces | bool | Client supports reverse references in pseudo-user ACEs (Access Control Entries). |
capabilities.entity_version_checking_supported | bool | Client supports entity version numbering to track modification conflicts. |
capabilities.workflow_descriptions_supported | bool | Client supports workflow descriptions. |
capabilities.property_value_metadata_supported | bool | Client supports setting and retrieving property value metadata. |
capabilities.object_type_grouping_for_relationships | bool | Client supports object type based grouping for relationships. |
capabilities.draft_objects | bool | Client supports draft objects in discovery results. |
Response: GetAuthenticationConfigurationResponse
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 |
|---|---|---|
auth_method | AuthMethod | AUTH_METHOD_PLUGIN when plugin_infos contains a usable configuration, AUTH_METHOD_UNSPECIFIED otherwise.Values: AUTH_METHOD_UNSPECIFIED (0), AUTH_METHOD_PLUGIN (3). |
plugin_infos[] | repeated PluginInfo | The matching plug-in configurations. system_configuration holds the configuration scope (Scope) to send back in PluginData.configuration_scope; plugin_configuration holds the plug-in's client settings. |
plugin_infos[].is_default | bool | True if this is the default configuration. |
plugin_infos[].is_scope_independent | bool | True if the plug-in can be used without a configuration scope. |
plugin_infos[].name | string | The configuration's name. Send it as PluginData.plugin_name. |
plugin_infos[].assembly_name | string | The plug-in's implementation, for example MFiles.AuthenticationProviders.OAuth. |
plugin_infos[].bridge_class_name | string | Internal to the server. |
plugin_infos[].system_configuration | NamedValueArray | Where the configuration comes from: Scope (send as PluginData.configuration_scope) and, for vault-stored configurations, VaultGUID. |
plugin_infos[].system_configuration.value[] | repeated NamedValue | An array of the NamedValue structures. |
plugin_infos[].plugin_configuration | NamedValueArray | The plug-in's client-side settings. For an OAuth plug-in these include AuthorizationEndpoint, TokenEndpoint, ClientID, Scope and RedirectURI. |
plugin_infos[].plugin_configuration.value[] | repeated NamedValue | An array of the NamedValue structures. |