Device Identity Provider
IDeviceIdentityProviderService
in assembly SanteDB.Core.Api version 3.0.1980.0
Summary
Represents a service which retrieves IDeviceIdentity and can authenticate to an IPrincipal for devices.
Description
In SanteDB, a security session is comprised of up to three security identities/principals:
(Optional) User identity representing the human using the application
(Optional) A IDeviceIdentity representing the device running the application, and
An IApplicationIdentity representing the application
This service is what is used to authenticate the device identity from a central credential store of registered devices. This service may be called with a shared device id/secret (like a user name and password), or may be called with a device ID and x509 certificate (if used for authenticating sessions with a client certificate)
See: SanteDB authentication architecture
Events
Event | Type | Description |
---|---|---|
Authenticated | EventHandler<AuthenticatedEventArgs> | Fired after an authentication request has been made. |
Authenticating | EventHandler<AuthenticatingEventArgs> | Fired prior to an authentication request being made. |
Operations
Operation | Response/Return | Input/Parameter | Description |
---|---|---|---|
Authenticate | IPrincipal | String deviceName String deviceSecret AuthenticationMethod authMethod | Authenticates the specified device identifier. |
CreateIdentity | IDeviceIdentity | String deviceName String secret IPrincipal principal Nullable<Guid> withSid | Create a basic identity in the provider |
GetSid | Guid | String deviceName | Gets the SID for the specified identity |
GetIdentity | IDeviceIdentity | String deviceName | Gets the specified identity for an device. |
GetIdentity | IDeviceIdentity | Guid sid | Gets the specified identity for an device. |
SetLockout | void | String deviceName Boolean lockoutState IPrincipal principal | Set the lockout status |
ChangeSecret | void | String deviceName String deviceSecret IPrincipal principal | Change the device secret |
AddClaim | void | String deviceName IClaim claim IPrincipal principal Nullable<TimeSpan> expiry | Add a to |
GetClaims | IEnumerable<IClaim> | String deviceName | Get all active claims for the specified device |
RemoveClaim | void | String deviceName String claimType IPrincipal principal | Removes a claim from the specified device account |
Implementations
UpstreamDeviceIdentityProvider - (SanteDB.Client)
Represents an identity provider that provides upstream device identities
Description
This is a partial implementation only for the resolution of identity objects
Service Registration
AdoDeviceIdentityProvider - (SanteDB.Persistence.Data)
An implementation of the device identity provider
Service Registration
Example Implementation
References
Last updated