simplesamlphp/simplesamlphp-module-infocard

此包已弃用且不再维护。未建议替代包。
此包最新版本(v1.0.2)没有可用的许可证信息。

一个与信息卡技术协同工作的 SimpleSAMLphp 模块。

安装: 14,884

依赖: 0

建议者: 0

安全: 2

星标: 1

关注者: 7

分支: 0

开放问题: 0

类型:simplesamlphp-module

v1.0.2 2017-06-27 08:41 UTC

This package is auto-updated.

Last update: 2020-03-25 13:02:03 UTC


README

警告:这不是成熟的软件,它是为了测试、教育和开发目的而发布的。它处于非常早期版本,因此不要依赖任何人的生活。

介绍

这是一个与信息卡技术协同工作的 SimpleSAMLphp 模块,提供两个基本功能

  • RP:作为信任方,您可以接受通过 STS 发送的令牌进行用户身份验证。

  • STS:作为安全令牌服务,您可以向 RP 提供信息以生成令牌。目前,仅支持用户密码和自签发凭证。

  • InfoCard 生成器:您的用户可以通过填写包含用户名和密码的表单来请求他们的 InfoCard。

非常重要

本文档不是一个严格的指南,我的意思是它可能存在一些错误或遗漏的信息。我已经尝试注释几乎每个用于使系统工作并使您的生活更轻松的技巧。因此,如果您在安装过程中感到迷茫,深呼吸两次,思考十分钟您试图做的事情,再次阅读文档,并运用您的常识。当您再次面对配置文件时,这将很有用。

安装

安装 SimpleSAMLphp 后,安装此模块非常简单。只需在 SimpleSAMLphp 安装根目录中执行以下命令

composer.phar require simplesamlphp/simplesamlphp-module-infocard:dev-master

其中 dev-master 指示 Composer 从 Git 仓库安装 master 分支。如果您想使用模块的稳定版本,请参阅发行版

安装模块成功后,您需要执行以下步骤

  1. InfoCard 文件夹复制到您的 SimpleSAMLphp 安装目录中的模块目录。
  2. 将文件 modules/InfoCard/extra/config-login-infocard.php 复制(或移动)到 SimpleSAMLphp 安装目录中的配置目录。
  3. 编辑 config/config-login-infocard.php 文件,您应该配置一些值,如:help_desk_email_URLcontact_info_URLserver_keyserver_crtsts_crtrequiredClaimsoptionalClaims,以适应您的需求。
  4. 编辑 config/authsources.php 文件,在最后的 ); 之前添加以下文本
        'InfoCard' => [
            'InfoCard:ICAuth',
        ],
  1. 就是这样。

添加 InfoCard 生成器

  1. 进入 modules/InfoCard 文件夹。
  2. extra/getinfocard.php 复制到 www/getinfocard.php
  3. 编辑 config/config-login-infocard.php 文件并取消注释此行
    // 'CardGenerator' => 'getinfocard.php', (delete the heading slashes "//").
  1. 按照前面的示例,取消注释此 values:certificatessts_keytokenserviceurlmexurl
  2. 检查前面的值并根据需要修改它们。
  3. 阅读 用户功能 部分。

添加 STS 功能

  1. 进入 modules/InfoCard 文件夹。
  2. extra/mex.phpextra/tokenservice.php 复制到 www 文件夹。
  3. 编辑 config/config-login-infocard.php 文件,取消注释 certificatessts_key 的值。
  4. 阅读 用户功能 部分。

用户函数

由于存在许多身份验证问题,我无法为您猜测,您需要编写一些代码来使此模块与您的身份验证系统兼容。

我们将处理位于 modules/InfoCard/lib/ 的文件 UserFunctions.php

  • validateUser:它接收两个字符串,即用户名和密码,您需要进行验证(针对您的数据库?)并根据是否需要验证用户返回 true 或 false。

  • fillClaims:它由 tokenservice 使用,以向受信任方提供有关用户的信息。它接收用户名、配置的必要和可选声明以及受信任方请求的声明。它通过填充 claimValues 数组工作,您的任务是确保数组中的 value 变量($claimValues[$claim]['value']=)获得您想要的价值。请理解请求的值和您的配置值可能不匹配。

  • fillICdata:它由卡片生成器使用以检索所需信息。它接收一个经过身份验证的用户名,并返回一个包含如卡片名称、卡片图片、过期时间等信息数组的数组。

证书和主机

该架构由三个独立元素组成

  • 用户:身份选择器
  • IDP:受信任方
  • STS:IC 和令牌生成。

这是因为如果您想在同一台机器上同时拥有 IDP 和 STS 功能,则应配置两个主机(带有两个 x509 证书)。