Giter Club home page Giter Club logo

adfsmfa's Introduction

Multi-Factor Authentication for Microsoft ADFS 2022/2019/2016/2012r2 (with biometric authentication)


This project can help you to implement multi-factor authentication without requiring any additional provider.

You can download a fully functional solution or modify the source code to build your own solution.

MFA helps secure user sign-ins for on-premise or cloud services beyond just a single password. With MFA, users are required to enter a confirmation code, which is send to their phones, email account or via an authenticator application (Microsoft authentication, Google Authentication)after correctly entering their passwords.

What I Know (password) and What I Hold (device) or What I Am (biometrics) are the keys of MFA.

For example, if you user password is compromised by a hacker, he can’t activate your application (business email) because You have the code that can grant access to the app.

This extension, allow to use second factor with secondary email code transmission, or TOTP code (Time-based One Time Password) compatible with the Google’s (and others) standard.

This extension works with Active Directory or an SQL Server Database for storing secret keys.

Installation & Documentation

Downloads

Building Solution

Features

  • Localized UI French/English/Spanish/Italian/German/Dutch/Portuguese/Polish/Swedish/Romanian/Russian/Danish/Japanese/Quebec/Ukrainian
  • TOTP, Email, Phone, Biometric, Azure Providers for MFA
  • Run with ADFS 2012 R2, 2016, 2019 and 2022
  • Secret Keys length (Guid, 128, 256, 384 & 512 bytes) RNG generator
  • Secret Keys RSA asymmetric encryption length (2048 bytes) RSA
  • Secret Keys AES symmetric encryption length (256 bytes) AES256, ECDH_P256
  • Secret Keys custom encryption (when implementing ISecretKeyManager and ISecretKeyManagerActivator)
  • PowerShell Cmdlets for managing MFA properties and MFA Users
  • MMC Console for managing MFA properties and MFA Users
  • Can use ADDS customizable attributes or SQL-Server Database, or develop a Custom Storage component
  • Can send TOTP code by email (customizable template in resources)
  • Can send TOTP code by SMS (customizable and extensible with API (IExternalProvider interface))
  • Can use TOTP code using Authenticator Apps like MS Authenticator, Google Authentication and more
  • Biometric authentication (Anders Åberg, Alex Seigler and others)
  • Enable self-registration
  • Enable self-registration with QR code (George Mamaladze and his team)
  • Enable custom change password.
  • Can work with ADDS multi-forests with trust relationships
  • Can work with LDAP 3.0 Providers (ADFS 2016/2019/2022) when using SQL Storage mode
  • Full sample for Azure MFA (additional configuration tasks and costs implied)
  • Developers can easily extend this component for other verification modes (Azure MFA, RSA,…) with the IExternalProvider, ISecretKeyManager interfaces
  • Developers can easily extend this component for other storages modes (AD & SQL by default)
  • Developers can easily replace the default UI, subclassing BasePresentation or BaseMFAPresentation classes
  • Full support for ADFS 2019/2022 themes

Remarks

  • Due to security, Developers must sign their Visual Studio solution with their own generated .pfx certificate (see custom development)
  • You must deploy the solution on each of your ADFS servers, not on Proxy Servers.
  • To work with ADDS, the ADFS Service account must have read and write to users properties (or use the superaccount feature).
  • To work with SQL Server Database, you must deploy the database on a separate SQL Server
  • Working with ADFS Windows server 2012r2, 2016, 2019 and 2022

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.