Our.Umbraco.Passless
0.0.4
See the version list below for details.
dotnet add package Our.Umbraco.Passless --version 0.0.4
NuGet\Install-Package Our.Umbraco.Passless -Version 0.0.4
<PackageReference Include="Our.Umbraco.Passless" Version="0.0.4" />
paket add Our.Umbraco.Passless --version 0.0.4
#r "nuget: Our.Umbraco.Passless, 0.0.4"
// Install Our.Umbraco.Passless as a Cake Addin #addin nuget:?package=Our.Umbraco.Passless&version=0.0.4 // Install Our.Umbraco.Passless as a Cake Tool #tool nuget:?package=Our.Umbraco.Passless&version=0.0.4
Our.Umbraco.Passless - Passwordless login for Umbraco
Package | NuGet |
---|---|
Our.Umbraco.Passless |
Passwordless login for Umbraco using FIDO2. Main implementation based on Fido2-net-lib a great implementation for any potential FIDO server.
Getting started
When you've installed and configured the package, log into the backffice, press your user icon in the top right corner and click Manage Fido Devices
to add new devices.
Features
- Passwordless login to the umbraco backoffice.
- Register multiple Authenticators to your user
- Platform (Windows hello etc) And Cross Platform (Android/Iphone via passkeys, YubiKey etc) Authenticators supported.
Planned features
- Completely disable password login
- Forgot password registers new authenticator
- Passwordless login for members.
- Better configuration for consumers
- Umbraco 9 Support. This might take longer as the .net 5 version of fido2.net lib is quite outdated.
Known issues
- The "Remember last authenticator" checkbox works poorly with passkeys, not sure if it can be helped?
- The CSS styling could need a loving hand
Install
Use nuget to install Our.Umbraco.Passless
Install-Package Our.Umbraco.Passless
Configuration
You need to add these settings to your appsettings.config
"Passless": {
"DenyLocalLogin": true,//Optional, removes password login, defaults to false
"UseUmbracoDb" : true, //Optional
"fido2": {
"serverName": "{your server name}",
"serverDomain": "{YOUR DOMAIN}",
"origins": [ "{YOUR ORIGIN}" ],
"timestampDriftTolerance": {drifttollerance in ms}
}
}
For example:
"Passless": {
"fido2": {
"serverName": "Passless",
"serverDomain": "localhost",
"origins": [ "https://localhost:44351" ],
"timestampDriftTolerance": 300000
}
}
Use Umbraco DB
The UseUmbracoDB
toggles whether we register our implementation of IFidoCredentialRepository
and runs the migration adding the credentials table to the current umbraco database.
Set this to false, and register your own implementation if you want to use a different database for the users credentials.
Frontend
The frontend is built using node 16
Navigate to src/Our.Umbraco.Passless/UI
and run the following commands:
npm i
npm run build:dev
npm run dev
Now you're ready to work on the frontend.
NOTE: the output is overwritten when building / debugging the website, run above commands after starting the build
Use the following command to generate a production-ready build:
npm run build
Special thanks to:
- D-Inventor for his Angular JS support
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- Fido2 (>= 3.0.1)
- Fido2.AspNet (>= 3.0.1)
- Umbraco.Cms.Core (>= 10.3.2)
- Umbraco.Cms.Web.BackOffice (>= 10.3.2)
- Umbraco.Cms.Web.Common (>= 10.3.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
- Enabled LostAuthenticator step if SMTP is configured
- Enabled DenyLocalLogin
- Added Some error messages on failed login
- Fixed some CSS