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

Was this helpful?