1 基础知识
1.1 模块的简介
– 模块simplesamlphp-module-privacyidea用于扩展simpleSAMLphp的功能
– 模块使simplesSAMLphp支持双因子认证
1.2 模块的功能
– 支持用户OTP令牌认证
– 支持用户Challenge Response令牌(如电子邮件和SMS)认证
– 支持用户WebAuthn认证
– 支持用户U2F设备认证
– 不支持用户TiQR认证
1.3 模块的工作模式
– AuthSource,即模块将privacyIDEA作为身份验证的来源
– AuthProc,即模块只做认证的一个步骤,第二个针对privacyIDEA的因素
2 最佳实践
2.1 准备环境
2.1.1 准备simpleSAMLphp环境
如果你没有simpleSAMLphp环境,请参阅以下章节准备,
另外,你需要使用如下命令配置名称解析(仅用于测试,生产环境请使用DNS代替),
echo '10.168.0.105 privacyidea privacyidea.cmdschool.org' >> /etc/hosts
2.1.2 准备PrivacyIDEA环境
如果你没有PrivacyIDEA环境,请参阅以下章节准备,
2.1.3 准备PrivacyIDEA LDAP环境(可选)
如果是企业,建议集成PrivacyIDEA加LdAP环境,请参阅以下章节准备,
2.1.4 准备PrivacyIDEA客户端freeOTP
如果你没有PrivacyIDEA客户端freeOTP,请参阅以下章节准备,
2.2 部署插件到simpleSAML
2.2.1 下载安装包
cd ~ wget https://github.com/privacyidea/simplesamlphp-module-privacyidea/archive/refs/tags/v2.0.tar.gz -O simplesamlphp-module-privacyidea-2.0.tar
2.2.2 解压安装包
cd ~ tar -xf simplesamlphp-module-privacyidea-2.0.tar
2.2.3 部署安装包
cd ~ mv simplesamlphp-module-privacyidea-2.0 /var/www/simplesamlphp/modules/privacyidea chown apache:apache -R /var/www/simplesamlphp/modules/privacyidea chmod 775 -R /var/www/simplesamlphp/modules/privacyidea
从如下文件可以,模块默认启动,
/var/www/simplesamlphp/modules/privacyidea/default-enable
2.2.4 配置认证用户来源
vim /var/www/simplesamlphp/config/authsources.php
加入如下配置,
<?php $config = [ #... 'cmdschool.org-privacyidea' => array( 'privacyidea:PrivacyideaAuthSource', 'privacyideaServerURL' => 'https://privacyidea.cmdschool.org', 'sslVerifyHost' => 'false', 'sslVerifyPeer' => 'false', 'realm' => '', 'serviceAccount' => 'admin', 'servicePass' => 'adminpwd', 'doTriggerChallenge' => 'true', 'doSendPassword' => 'true', 'otpFieldHint' => 'OTP', 'passFieldHint' => 'Password', 'SSO' => 'false', 'preferredTokenType' => '', 'attributemap' => array( 'username' => 'samlLoginName', 'surname' => 'surName', 'givenname' => 'givenName', 'email' => 'emailAddress', 'phone' => 'telePhone', 'mobile' => 'mobilePhone' ), 'concatenationmap' => array( 'givenname,surname' => 'fullName', ), 'detailmap' => array( 'message' => 'message', 'type' => 'otpType', 'serial' => 'otpSerial', 'otplen' => 'otpLength' ), ), #... ];
https://simplesamlphp.cmdschool.org
以上请以管理员身份登录管理界面验证,
如上图所示,
单击【认证】->【测试已经配置的认证源】->【cmdschool.org-privacyidea】
输入“用户名”
输入“OTP”(即freeOTP产生的可变令牌)
单击【登录】即可完成测试
参阅文档
==================
privacyIDEA simpleSAMLphp插件主页
——————————-
https://github.com/privacyidea/simplesamlphp-module-privacyidea
privacyIDEA simpleSAMLphp插件配置
———————————-
https://github.com/privacyidea/simplesamlphp-module-privacyidea/blob/master/docs/privacyidea.md
没有评论