{"repo":"tozzi21/keycloak-two-factor-auth-extension","free":true,"listed":false,"github":"https://github.com/tozzi21/keycloak-two-factor-auth-extension","clone":"git clone https://github.com/tozzi21/keycloak-two-factor-auth-extension.git","description":"This code extends Keycloak for the provisioning of 2 Factor Authentication (2FA) through non-interactve API methods ✨ Project extends Keycloak with a custom RealmResourceProvider. This allows for 2FA via REST calls.","language":"Java","stars":20,"topics":["2fa-mobile","2fa-security","keycloak","keycloak-provider","keycloak-rest-api"],"license":null,"category":"auth-billing-email","readme_excerpt":"Keycloak 2FA Rest API Provider Overview Keycloak is an open source identity and access management solution. This codebase extends provisioning 2 Factor Authentication (2FA) through non-interactve API methods ✨ Our project extends Keycloak with a custom RealmResourceProvider. This allows for 2FA via API calls. The APIs are authenticated with manage-2fa permission, and require the calling account to be a service account. This extension also verifies that the target user is not service account for additional security check. APIs Validation Validation is performed on all calls, following: 1. The caller must be a service account for a client which has manage-2fa permission 2. User id as part of the path needs to point to valid user 3. User must not be a service account Path To Extension Reference the realm plus provider, for example: /auth/realms/master/two factor auth/manage-2fa/ /generate-2fa Generate 2FA data for a user Description: Generates 2FA data for a user to setup Totp on user's device. Method: GET Path: /manage-2fa/{user id}/generate-2fa Response example: encodedTotpSecret can be used when it is not possible to scan a qr code. Submit 2FA data for a user Description: Submits 2FA data for a user to enable Totp credential for user in KeyCloak. Method: POST Path: /manage-2fa/{user id}/submit-2fa Request example: Response: On success empty response with 204 status code will be returned. Here deviceName refers to the device on which we want to enable 2FA. totpInitialCode refe","default_branch":null,"files":null,"tree":[],"storefront":"/r/tozzi21","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/tozzi21/keycloak-two-factor-auth-extension/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}