如何配置simpleSAMLphp取得PrivacyIDEA的认证源?

目录或认证服务

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环境,请参阅以下章节准备,

如何部署simpleSAMLphp?


另外,你需要使用如下命令配置名称解析(仅用于测试,生产环境请使用DNS代替),

echo '10.168.0.105 privacyidea privacyidea.cmdschool.org' >> /etc/hosts

2.1.2 准备PrivacyIDEA环境

如果你没有PrivacyIDEA环境,请参阅以下章节准备,

如何基于RHEL 8.x部署PrivacyIDEA?

2.1.3 准备PrivacyIDEA LDAP环境(可选)

如果是企业,建议集成PrivacyIDEA加LdAP环境,请参阅以下章节准备,

如何基于PrivacyIDEA集成LDAP?

2.1.4 准备PrivacyIDEA客户端freeOTP

如果你没有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

没有评论

发表回复

目录或认证服务
如何解决SSSD的用户条目的UPN与PAC不匹配问题?

1 前言 一个问题,一篇文章,一出故事。 今天遇到域用户输入正确的用户名和密码不能登录问题,详细错误 …

目录或认证服务
如何解决SSSD的多域用户ID冲突问题?

1 前言 一个问题,一篇文章,一出故事。 笔者在生产环境中遇到SSSD因为同时使用两个不同的域导致U …

目录或认证服务
如何部署Oracle Linux 9.x simpleSAMLphp 2.1.3?

1 基础知识 1.1 断言的基本概念 1.1.1 断言的介绍 – 断言即assertio …