MFA feature: Enable google authenticator
Enabling multi-factor authentication for BMC. This feature enables
google authenticator using TOTP method.
This commit implements interface published [here][1]
and [here][2]
The implementation supports features such as create secret key,verify
TOTP token, enable system level MFA, and enable bypass options.
Currently the support is only for GoogleAuthenticator.
[1]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/User/MultiFactorAuthConfiguration.interface.yaml
[2]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/User/TOTPAuthenticator.interface.yaml
Tested By:
Unit test
https://gerrit.openbmc.org/c/openbmc/phosphor-user-manager/+/78583/1
Change-Id: I053095763c65963ff865b487ab08f05039d2fc3a
Signed-off-by: Abhilash Raju <abhilash.kollam@gmail.com>
diff --git a/meson.build b/meson.build
index cbe0e81..6bbea64 100644
--- a/meson.build
+++ b/meson.build
@@ -103,11 +103,13 @@
assert(cereal_proj.found(), 'cereal is required')
cereal_dep = cereal_proj.dependency('cereal')
endif
-
+pam_dep = dependency('pam')
user_manager_src = ['mainapp.cpp', 'user_mgr.cpp', 'users.cpp']
+
user_manager_deps = [
boost_dep,
+ pam_dep,
sdbusplus_dep,
phosphor_logging_dep,
phosphor_dbus_interfaces_dep,
@@ -150,6 +152,8 @@
install_dir: get_option('datadir') / 'phosphor-certificate-manager',
)
+install_data('mfa_pam', install_dir: '/etc/pam.d/')
+
# Figure out how to use install_symlink to install symlink to a file of another
# recipe
#install_symlink(