/// Example Implementation
using SanteDB.Core.Security.Services;
/// Other usings here
public class MyApplicationIdentityProviderService : SanteDB.Core.Security.Services.IApplicationIdentityProviderService {
public String ServiceName => "My own IApplicationIdentityProviderService service";
/// <summary>
/// Fired after an authentication request has been made.
/// </summary>
public event EventHandler<AuthenticatedEventArgs> Authenticated;
/// <summary>
/// Fired prior to an authentication request being made.
/// </summary>
public event EventHandler<AuthenticatingEventArgs> Authenticating;
/// <summary>
/// Authenticate the application identity.
/// </summary>
public IPrincipal Authenticate(String applicationName,String applicationSecret){
throw new System.NotImplementedException();
}
/// <summary>
/// Authenticate the application identity.
/// </summary>
public IPrincipal Authenticate(String applicationName,IPrincipal authenticationContext){
throw new System.NotImplementedException();
}
/// <summary>
/// Create a basic identity in the provider
/// </summary>
public IApplicationIdentity CreateIdentity(String applicationName,String password,IPrincipal principal,Nullable<Guid> withSid){
throw new System.NotImplementedException();
}
/// <summary>
/// Gets the specified identity for an application.
/// </summary>
public IApplicationIdentity GetIdentity(String applicationName){
throw new System.NotImplementedException();
}
/// <summary>
/// Gets the specified identity for an application.
/// </summary>
public IApplicationIdentity GetIdentity(Guid sid){
throw new System.NotImplementedException();
}
/// <summary>
/// Gets the SID for the specified identity
/// </summary>
public Guid GetSid(String name){
throw new System.NotImplementedException();
}
/// <summary>
/// Set the lockout status
/// </summary>
public void SetLockout(String applicationName,Boolean lockoutState,IPrincipal principal){
throw new System.NotImplementedException();
}
/// <summary>
/// Change the specified application identity's secret
/// </summary>
public void ChangeSecret(String applicationName,String secret,IPrincipal principal){
throw new System.NotImplementedException();
}
/// <summary>
/// Add a to
/// </summary>
public void AddClaim(String applicationName,IClaim claim,IPrincipal principal,Nullable<TimeSpan> expiry){
throw new System.NotImplementedException();
}
/// <summary>
/// Get all active claims for the specified application
/// </summary>
public IEnumerable<IClaim> GetClaims(String applicationName){
throw new System.NotImplementedException();
}
/// <summary>
/// Removes a claim from the specified device account
/// </summary>
public void RemoveClaim(String applicationName,String claimType,IPrincipal principal){
throw new System.NotImplementedException();
}
}
References
Represents an implementation of a which uses OAUTH