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
没有评论