This class is responsible for managing local sessions (via a synchronized pattern) as well as upstream sessions which need to interact with the upstream, as well as transitioning between the two.
/// Example Implementation
using SanteDB.Core.Security.Services;
/// Other usings here
public class MySessionIdentityProviderService : SanteDB.Core.Security.Services.ISessionIdentityProviderService {
public String ServiceName => "My own ISessionIdentityProviderService service";
/// <summary>
/// Authenticate based on session
/// </summary>
public IPrincipal Authenticate(ISession session){
throw new System.NotImplementedException();
}
/// <summary>
/// Gets an un-authenticated principal from the specified session
/// </summary>
public IIdentity[] GetIdentities(ISession session){
throw new System.NotImplementedException();
}
}