Security Challenge Authentication Provider
ISecurityChallengeIdentityService
in assembly SanteDB.Core.Api version 3.0.1980.0
Summary
Represents a security challenge service which can provide identity
Events
Event
Type
Description
Authenticating
EventHandler<AuthenticatingEventArgs>
Fired prior to an authentication event
Authenticated
EventHandler<AuthenticatedEventArgs>
Fired after an authentication decision being made
Operations
Operation
Response/Return
Input/Parameter
Description
Authenticate
IPrincipal
String userName Guid challengeKey String response String tfaSecret
Authenticates the specified user with a challenge key and response
Implementations
BridgedIdentityProvider - (SanteDB.Client)
Represents an identity provider which bridges local and upstream
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Client.Upstream.Security.BridgedIdentityProvider, SanteDB.Client, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
UpstreamIdentityProvider - (SanteDB.Client)
Represents an implementation of the IIdentityProviderService which uses an upstream oauth server
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Client.Upstream.Security.UpstreamIdentityProvider, SanteDB.Client, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
AdoSecurityChallengeProvider - (SanteDB.Persistence.Data)
Represents a callenge service which uses the ADO.NET tables
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Persistence.Data.Services.AdoSecurityChallengeProvider, SanteDB.Persistence.Data, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
Example Implementation
/// Example Implementation
using SanteDB.Core.Security.Services;
/// Other usings here
public class MySecurityChallengeIdentityService : SanteDB.Core.Security.Services.ISecurityChallengeIdentityService {
public String ServiceName => "My own ISecurityChallengeIdentityService service";
/// <summary>
/// Fired prior to an authentication event
/// </summary>
public event EventHandler<AuthenticatingEventArgs> Authenticating;
/// <summary>
/// Fired after an authentication decision being made
/// </summary>
public event EventHandler<AuthenticatedEventArgs> Authenticated;
/// <summary>
/// Authenticates the specified user with a challenge key and response
/// </summary>
public IPrincipal Authenticate(String userName,Guid challengeKey,String response,String tfaSecret){
throw new System.NotImplementedException();
}
}
References
Last updated
Was this helpful?