Table of Contents

Systems.Security.DomainProviders Entity

Namespace: Systems.Security

The external authentication providers, linked to the domain. Contains data about registration, usually the app id or app key. Entity: Sec_Domain_Providers (Introduced in version 20.1)

Default Visualization

Default Display Text Format:
{DisplayName:T}
Default Search Members:
DisplayName
Name Data Member:
DisplayName
Category: Definitions
Show in UI: ShownByDefault

Track Changes

Min level: 0 - Do not track changes
Max level: 4 - Track object attribute and blob changes

Aggregate

An aggregate is a cluster of domain objects that can be treated as a single unit.

Aggregate Parent:
Systems.Security.Domains
Aggregate Root:
Systems.Security.Domains

Attributes

Name Type Description
ClientID string (254) nullable This is the Client_ID of our registration within the provider.
ClientSecret string (254) nullable This is the password, which we, as a client app, use to access the authentication provider.
DisplayName MultilanguageString (254) nullable Specifies the (multi-language) display name of the button in the login form. Especially useful for multi-tenant providers.
DisplayText string Uses the repository DisplayTextFormat to build the display text from the attributes and references of current object.
Id guid
IsActive boolean Specifies whether the provider is currently active for the domain. Required Default(true) Filter(eq)
Notes string (max) nullable Notes for this DomainProvider.
ObjectVersion int32 The latest version of the extensible data object for the aggregate root for the time the object is loaded from the database. Can be used for optimistic locking.
ProviderName ProviderName The system name of the user authentication provider. For example GOOGLE, FACEBOOK, MICROSOFT, AZUREAD, ERPNET, etc. Required Filter(eq)
TenantID string (254) nullable When the authentication provider is multi-tenant, this specifies the tenant ID. For example, Google, Facebook and Microsoft are singe-tenant, while AzureAD is multi-tenant.

References

Name Type Description
Domain Domains The domain for which the provider is setup. Required Filter(multi eq) Owner

Attribute Details

ClientID

This is the Client_ID of our registration within the provider.

Type: string (254) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Maximum Length: 254
Show in UI: ShownByDefault

ClientSecret

This is the password, which we, as a client app, use to access the authentication provider.

Type: string (254) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Maximum Length: 254
Show in UI: ShownByDefault

DisplayName

Specifies the (multi-language) display name of the button in the login form. Especially useful for multi-tenant providers.

Type: MultilanguageString (254) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: ShownByDefault

DisplayText

Uses the repository DisplayTextFormat to build the display text from the attributes and references of current object.

Type: string
Category: Calculated Attributes
Supported Filters: NotFilterable
Supports Order By: ****
Show in UI: HiddenByDefault

Id

Type: guid
Indexed: True
Category: System
Supported Filters: Equals, EqualsIn
Default Value: NewGuid
Show in UI: CannotBeShown

IsActive

Specifies whether the provider is currently active for the domain. Required Default(true) Filter(eq)

Type: boolean
Category: System
Supported Filters: Equals
Supports Order By: False
Default Value: True
Show in UI: ShownByDefault

Notes

Notes for this DomainProvider.

Type: string (max) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Maximum Length: 2147483647
Show in UI: ShownByDefault

ObjectVersion

The latest version of the extensible data object for the aggregate root for the time the object is loaded from the database. Can be used for optimistic locking.

Type: int32
Category: Extensible Data Object
Supported Filters: NotFilterable
Supports Order By: ****
Show in UI: HiddenByDefault

ProviderName

The system name of the user authentication provider. For example GOOGLE, FACEBOOK, MICROSOFT, AZUREAD, ERPNET, etc. Required Filter(eq)

Type: ProviderName
Category: System
Allowed values for the ProviderName(Systems.Security.DomainProviders.md#providername) data attribute
Allowed Values (Systems.Security.DomainProvidersRepository.ProviderName Enum Members)

Value Description
ERPNET ERPNET value. Stored as 'ERPNET'.
Database Value: 'ERPNET'
Model Value: 0
Domain API Value: 'ERPNET'
AZUREAD AZUREAD value. Stored as 'AZUREAD'.
Database Value: 'AZUREAD'
Model Value: 1
Domain API Value: 'AZUREAD'
GOOGLE GOOGLE value. Stored as 'GOOGLE'.
Database Value: 'GOOGLE'
Model Value: 2
Domain API Value: 'GOOGLE'
FACEBOOK FACEBOOK value. Stored as 'FACEBOOK'.
Database Value: 'FACEBOOK'
Model Value: 3
Domain API Value: 'FACEBOOK'

Supported Filters: Equals
Supports Order By: False
Show in UI: ShownByDefault

TenantID

When the authentication provider is multi-tenant, this specifies the tenant ID. For example, Google, Facebook and Microsoft are singe-tenant, while AzureAD is multi-tenant.

Type: string (254) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Maximum Length: 254
Show in UI: ShownByDefault

Reference Details

Domain

The domain for which the provider is setup. Required Filter(multi eq) Owner

Type: Domains
Category: System
Supported Filters: Equals, EqualsIn
Filterable Reference: True
Show in UI: ShownByDefault

API Methods

Methods that can be invoked in public APIs.

GetAllowedCustomPropertyValues

Gets the allowed values for the specified custom property for this entity object. If supported the result is ordered by property value. Some property value sources do not support ordering - in that case the result is not ordered.
Return Type: Collection Of CustomPropertyValue
Declaring Type: EntityObject
Domain API Request: GET

Parameters

  • customPropertyCode
    The code of the custom property
    Type: string

  • search
    The search text - searches by value or description. Can contain wildcard character %.
    Type: string
    Optional: True
    Default Value: null

  • exactMatch
    If true the search text should be equal to the property value
    Type: boolean
    Optional: True
    Default Value: False

  • orderByDescription
    If true the result is ordered by Description instead of Value. Note that ordering is not always possible.
    Type: boolean
    Optional: True
    Default Value: False

  • top
    The top clause - default is 10
    Type: int32
    Optional: True
    Default Value: 10

  • skip
    The skip clause - default is 0
    Type: int32
    Optional: True
    Default Value: 0

CreateNotification

Create a notification immediately in a separate transaction, and send a real-time event to the user.
Return Type: void
Declaring Type: EntityObject
Domain API Request: POST

Parameters

  • user
    The user.
    Type: Users

  • notificationClass
    The notification class.
    Type: string

  • subject
    The notification subject.
    Type: string

CreateCopy

Duplicates the object and its child objects belonging to the same aggregate. The duplicated objects are not saved to the data source but remain in the same transaction as the original object.
Return Type: EntityObject
Declaring Type: EntityObject
Domain API Request: POST

Business Rules

None

Front-End Business Rules

None

API

Domain API Query: https://demodb.my.erp.net/api/domain/odata/Systems_Security_DomainProviders?$top=10

Domain API Query Builder: https://demodb.my.erp.net/api/domain/querybuilder#Systems_Security_DomainProviders?$top=10