windows-Credential-Provider-library
This repository will be updated with all the examples and links that I can find with relevant knowledge & information about CP in MS Windows 7 up to version 10.
v0.1.2
Fast brief
Credential providers are the primary mechanism for user authentication—they currently are the only method for users to prove their identity which is required for logon and other system authentication scenarios. With Windows 10 and the introduction of Microsoft Passport, credential providers are more important than ever; they will be used for authentication into apps, websites, and more. currently after you you can provide an authentication option for windows Logon-the login screen in the Image below. or a credential picker UI.
To learn more about the windows authentication proccess please read: Sonny articale on medium
- Left down is the "Tile" every user in MS Windows 10 have one, and a CP can have a tile too.
- Middle down is the "Credential-Providers" icons list. a user can select only one at a time. the fields shown are depended on this.
- The center middle is the provider field/s - this time a password field.
- The "I forgot my PIN" will be shown only for providers that support change password scenario. the text can be selected.
- The title below that will be shown if there are other available CP in this tile.
Links to CP Technical Reference, guides, and articles
- Dan Griffin - Create Custom Login Experiences With Credential Providers For Windows Vista
- Alun Jones - Starting to build your own Credential Provider
- Winlogon and Credential Providers - Microsoft summary page in the MSDN
- Credential Providers in Windows 10 - Microsoft Windows 10 summary page in the MSDN (still kind of a WIP)
- Credential Provider driven Windows Logon Experience - Microsoft Windows 10 technical reference
- Credential Provider Framework Technical Reference - Microsoft Windows Vista technical reference
- Creating Custom Windows Credential Providers in .NET - By Steve Syfuhs October 15, 2017
- Random Musings About Windows Credential Providers and Authentication Packages - rileyg98
Links to CP API - Windows 10
- ICredentialProvider interface - This is the CP, the other two are just UI.
- ICredentialProviderCredential interface - Its a MUST if you want to provide a UI interaction.
- ICredentialProviderCredential2 interface - If you want your provider to be listed under the user tile you MUST implement this, othewiwe you will gain you own tile.
Links to CP code examples
- My Micorsoft windows 8 improved example
still WIP
On GitHub
- Windows 8 & 8.1 Sample by Microsoft
Start from here - if you have knowledge
- Windows 7 Samples by Microsoft in one link
- pGina
Start from here - if you want to quick implement without to realy know whats going on.
- pGina FORK
The fork was created first simply because it's the way to contribute on Github. Later on due to time pressure and a refused pull request. Now the code differs so much that it's hard to merge it back again.
- MultiOneTimePassword
- multiOTPCredentialProvider
- MultiotpCPV2RDP
- multiOTP open source
- dxlogin
I recommand to look into this one for is well docommanded CP
- Phaetto C# Credential Provider
Do notice that he didnt impelemt logon and worksation
Links from the web for download / view
- https://blogs.technet.microsoft.com/aho/2009/11/14/custom-credential-provider-for-password-reset/
- https://www.microsoft.com/en-us/download/details.aspx?id=4057
- https://code.msdn.microsoft.com/windowsapps/V2-Credential-Provider-7549a730
its the same one as the windows 8 from above but without the updates.
- https://msdn.microsoft.com/en-us/library/cc540483.aspx
- Signature-based User Authentication PDF
very useful
Background on the Windows Logon Process
- Yoni Avital presention - E2EVC 2015 Diving into Windows Logon Process