This repository has been archived by the owner on Jan 26, 2025. It is now read-only.
Releases: AllanOricil/esp32-mfa-authenticator
Releases · AllanOricil/esp32-mfa-authenticator
v0.19.0
v0.18.0
0.18.0 (2025-01-02)
Bug Fixes
- ensure resource routes validate session before providing data (bedc219)
- improve auth api (df985c1)
- invalid password (ef09c45)
- manager: error while validating session (f7ddbba)
- manager: page not loading because assets are missing (af81775)
- manager: re-auth during hard refreshes while session cookie (13e8cea)
- manager: unauthorized due to missing session (9a2b3c4)
Features
- add username/password auth route in the manager server (e38fe39)
- enable manager only if username, password and key are set in config.yml (6e299be)
- manager: add authentication with username and password (cc01402)
- manager: add fetchServices and updateServices to esp32-mfa-authenticator client (c615cb3)
- manager: add first iteration of the icon (0e92fc6)
- manager: fetch services from server (2b51738)
BREAKING CHANGES
Some of the config.yml
properties were renamed to ease the configuration. Below is the old and new schemas, respectively:
BEFORE
# [REQUIRED] necessary for enabling future changes
version: 0.0.0
wifi:
# [REQUIRED] (text) wifi connection password
password: test
# [REQUIRED] (text) wifi id
ssid: test
mqtt:
# [OPTIONAL] (text) mqtt server port
port: 1883
# [OPTIONAL] (text) mqtt server ip
server: 192.168.0.1
# [OPTIONAL] (text) mqtt connection username
username: test
# [OPTIONAL] (text) mqtt connection password
password: test
security:
# [OPTIONAL] (number) [default 3] board is locked and requires a hard reset, after N wrong unlock attempts
max_number_of_wrong_unlock_attempts: 3
pin:
# [OPTIONAL] (text) pin code composed of numbers only and HMAC-SHA256 hashed
hash: test
# [OPTIONAL] (text) key used to hash pin code
key: test
display:
# [OPTIONAL] (number) [default 10] if provided, the display will turn off after n seconds have passed
sleep_timeout: 10
touch:
# [OPTIONAL] (bool=false|0) calibrate touch sensor if true or 1
force_calibration: 0
AFTER
# [REQUIRED] configure the credentials used to connect to a wifi network
wifi:
# [REQUIRED] (text) wifi connection password
password: test
# [REQUIRED] (text) wifi id
ssid: test
# [REQUIRED] configure authentication for the board
authentication:
# [OPTIONAL] (number) [default 3] board is locked and requires a hard reset, after N wrong unlock attempts
unlock_attempts: 3
pin:
# [OPTIONAL] (text) pin code composed of numbers only and HMAC-SHA256 hashed
hash: test
# [OPTIONAL] (text) 32 characters key used to hash pin code
key: test
# [OPTIONAL] configure display settings
display:
# [OPTIONAL] (number) [default 10] if provided, the display will turn off after n seconds have passed
sleep_timeout: 10
# [OPTIONAL] configure touch settings
touch:
# [OPTIONAL] (bool=false|0) calibrate touch sensor if true or 1
calibrate: 0
# [OPTIONAL] configure the management app
manager:
# [OPTIONAL] configure authentication for the management app. The management app is enabled only if username, password, key are set.
authentication:
# [REQUIRED] (text) username to start a session
username: admin
# [REQUIRED] (text) HMAC-SHA256 hashed password to start a session
password: 7dbd45736c57090dd62a7e1c8db1a08c353b4a836f2c6b43fd1dd3f1e747ea59
# [REQUIRED] (text) 32 characters key used to hash the password
key: TUwNzIxF5lJncAJVMkmb4EiSP9vm0OyF
# [OPTIONAL] (number) [default 5] amount of minutes for the session duration
session_length: 5
v0.17.0
v0.16.0
v0.15.0
v0.14.0
0.14.0 (2024-12-26)
Features
- enable organizing services into groups (6d290af)
demo_groups.mp4
BREAKING CHANGES
The file storing services must be named services.yml
and now need to follow this schema:
services: list
- name: text[60]
secret: text
group: number
For example:
services:
- name: aws:root:[email protected]
secret: encoded-secret
group: 0
- name: aws:staging:[email protected]
secret: encoded-secret
group: 0
- name: aws:production:[email protected]
secret: encoded-secret
group: 0
- name: aws:1234565:[email protected]
secret: encoded-secret
group: 1
- name: aws:6785910:[email protected]
secret: encoded-secret
group: 1
- name: aws:7815795:[email protected]
secret: encoded-secret
group: 1
- name: github
secret: encoded-secret
group: 2
- name: docker
secret: encoded-secret
group: 2
- name: npm
secret: encoded-secret
group: 2