Create New Credential Provider
Faryan Rezagholi edited this page May 1, 2019
·
1 revision
The information on this page is subject to change at any time. This subsystem's interface is still under construction.
This page will walk you through the necessary steps to implement a new credential provider. Simply, credentials providers load credentials from some external source into mRemoteNG.
Note: Credential management is not fully implemented. Credential providers are not yet used for authentication in mRemoteNG.
- Most of the code that you will need to be familiar with is located in the mRemoteV1 project in the Credential folder
- Your pull request must include unit tests to be merged.
- Create a new folder in mRemoteV1/Credential/Providers/ for the credential provider you are creating. For example: mRemoteV1/Credential/Providers/KeePass/
- Create a corresponding folder in the mRemoteNGTests project. Following the existing naming pattern, name all test classes "MyClassTests"
- At the highest level, your provider will need to implement the interface
ICredentialProvider
- The
ICredentialProvider
requires you to create & return anICredentialList
. If you do not need to extend theICredentialList
, then theCredentialListBase
is an adequate concrete implementation for you to use. - Translate the credential entries from your external source into something mRemoteNG can work with.
- Implement
ICredential
or use the genericCredentialRecord
implementation. -
Important - Every
ICredential.UniqueId
must be unique within mRemoteNG. Also, the function to create a credential'sUniqueId
must be deterministic when importing from an external source. This means that we must get the sameUniqueId
every time we import the same credential from the external source, regardless of username/password/domain values.
-
Contribute
-
Workflow
-
Developer Guides
-
Testing