View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
18352 | Bug reports | Plugins | public | 2022-09-14 19:17 | 2025-03-31 17:13 |
Reporter | MSouad | Assigned To | gabrieljenik | ||
Priority | high | Severity | block | ||
Status | assigned | Resolution | open | ||
Summary | 18352: setting up 2FA with YubiKey | ||||
Description | difficulties setting up 2FA with YubiKey. how then to make sure the 2FA works with YubiKey | ||||
Steps To Reproduce | Steps to reproduceinstall the plugin (cloud service) Expected result(Write here what you expected to happen) Actual resultThe plugin keeps on displaying the QR code, even after selecting YubiKey as authentication tool | ||||
Tags | No tags attached. | ||||
Bug heat | 6 | ||||
Complete LimeSurvey version number (& build) | Version 5.3.31 | ||||
I will donate to the project if issue is resolved | No | ||||
Browser | |||||
Database type & version | 447 | ||||
Server OS (if known) | |||||
Webserver software & version (if known) | |||||
PHP Version | N/A | ||||
The current 2FA options are repetitive or not supported.
Yubikey is currently not implemented but most easy to fix, because it is a simple REST call. |
|
The issue still exists in Version 5.6.25. It was tested in the cloud version. |
|
We believe the Yubikey story could be on its own ticket. The Yubikey seems to fit on a different plugin. Also, regarding
Do you have some docs around it? As the Yubikey is not implemented, we though of removing that option. |
|
@gabrieljenik See https://developers.yubico.com/OTP/Specifications/OTP_validation_protocol.html |
|
As to validate the flow... When the user sets up 2FA, they must choose between "TOTP" and "YubiKey." If they choose "TOTP," it works the same way as it does today (showing a QR code, the user scans it with their authentication app, and enters the code into Lime). If they choose "YubiKey," instead of displaying a QR code, we only show an input field where the user "writes" the code generated by their YubiKey (by tapping it). For this initial setup, we first need to validate the code against YubiCloud and then store the Public ID (the first 6 characters of the code). The Public ID would be stored in the "secretKey" field of the "twoFactorUsers" table (the same field used for TOTP) and would be used during each login to verify that the entered code matches that user. To validate the code, we need to make a request like this:
For example:
This same validation needs to be performed at each login with the code entered at that moment. Now... to perform this validation, we need the Client ID. And from what I understand, this Client ID is something that must be configured at the plugin level, and in order to obtain it, the admin also needs a YubiKey. Is that correct? |
|
Yes, when you sign up for the API at https://upgrade.yubico.com/getapikey/ you get a Client ID and a Secret Key. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2022-09-14 19:17 | MSouad | New Issue | |
2022-09-15 09:30 | c_schmitz | Assigned To | => gabrieljenik |
2022-09-15 09:30 | c_schmitz | Status | new => assigned |
2022-09-15 09:30 | c_schmitz | Priority | none => urgent |
2022-09-15 09:31 | c_schmitz | Assigned To | gabrieljenik => c_schmitz |
2022-10-05 19:57 | c_schmitz | Note Added: 72130 | |
2022-10-05 19:57 | c_schmitz | Bug heat | 0 => 2 |
2023-06-16 10:24 | c_schmitz | Assigned To | c_schmitz => gabrieljenik |
2023-06-22 10:39 | chrie | Note Added: 75783 | |
2023-06-22 10:39 | chrie | Bug heat | 2 => 4 |
2023-06-22 14:35 | gabrieljenik | Assigned To | gabrieljenik => p_teichmann |
2023-06-22 18:00 | p_teichmann | Assigned To | p_teichmann => gabrieljenik |
2023-06-22 18:11 | gabrieljenik | Priority | urgent => high |
2023-07-07 23:03 | gabrieljenik | Note Added: 75987 | |
2023-07-07 23:03 | gabrieljenik | Bug heat | 4 => 6 |
2023-07-07 23:04 | gabrieljenik | Status | assigned => feedback |
2025-02-18 18:16 | c_schmitz | Note Added: 82080 | |
2025-02-18 18:17 | c_schmitz | Note Edited: 82080 | |
2025-03-17 15:07 | gabrieljenik | Note Added: 82259 | |
2025-03-19 18:03 | c_schmitz | Note Added: 82294 | |
2025-03-19 18:03 | c_schmitz | Note Edited: 82294 | |
2025-03-19 18:19 | c_schmitz | Note Edited: 82294 | |
2025-03-19 18:21 | c_schmitz | Note Edited: 82294 | |
2025-03-19 20:12 | c_schmitz | Status | feedback => assigned |
2025-03-31 17:13 | gabrieljenik | Issue cloned: 20038 |