密码工具包/simplesamlphp-module-hubandspoke

SimpleSAMLphp的Hub & Spoke联合体工具

安装数: 1,813

依赖项: 1

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 2

类型:simplesamlphp-module

dev-master 2016-04-13 14:11 UTC

This package is not auto-updated.

Last update: 2024-09-11 23:59:44 UTC


README

## SimpleSAMLphp的Hub & Spoke工具

## TargetedID

eduPersonTargetedId属性生成一个或多个值的一种灵活方式。

hubandspoke:TargetedID 是 SimpleSAMLphp 的一个 认证处理过滤器,基于 Olav Morken,UNINETT AS 的 core:TargetedID

此过滤器使用以下方式为 eduPersonTargetedID 属性生成一个或多个值:

  • 一个属性来标识认证的 用户
  • (可选)一个值来标识请求认证的 SP
  • (可选)一个值来标识 IdP
  • (可选)用于结果散列的固定随机值
  • 一个 哈希 算法

配置允许

  • 设置备选属性(按优先级顺序)来标识用户
  • 设置备选属性(按优先级顺序)来标识目标
  • 设置备选属性(按优先级顺序)来标识IdP
  • 转换目标标识符
  • 过滤SP和/或用户(只为匹配的实体发送值)

阅读文档以查看所有选项。

### 配置示例

  • 具有一个独特 标准 值的 eduPersonTargetedId
    'authproc' => array(
        50 => 'hubandspoke:TargetedID',
    ),
sha256(userID + '@@' + targetID + '@@' + sourceID)
  • 使用 混淆的 eduPersonTargetedId
    'authproc' => array(
        50 => array(
            'class' => 'hubandspoke:TargetedID',
            'salt'  => 'randomString',
        ),
    ),
sha256(salt + '@@' + userID + '@@' + targetID + '@@' + sourceID + '@@' + salt)
  • 具有不同 公式 的 eduPersonTargetedId
    'authproc' => array(
        50 => array(
            'class'  => 'hubandspoke:TargetedID',
            'userID' => 'Attributes/mail',
            'fields' => array('salt', 'userID', 'targetID'),
            'salt'   => 'randomString',
        ),
    ),
sha256(salt + '@@' + mail + '@@' + targetID)
  • 具有 两个 值的 eduPersonTargetedId
    'authproc' => array(
        50 => array(
            'class'  => 'hubandspoke:TargetedID',
            'salt'   => 'randomString',
            'values' => array(
                'new' => array(
                    'fieldSeparator' => '//',
                ),
                'old' => array(
                    'hashFunction' => 'md5',
                    'fields'       => array('userID'),
                ),
            ),
        ),
    ),
sha256(salt + '//' + userID + '//' + targetID + '//' + sourceID + '//' + salt)
md5(userID)
  • 具有两个值的前缀 前缀
    • 其中之一仅针对特定SP(http://*.example.com)
    • 另一个适用于所有SP,但考虑到相同的SP所有URL https://*.blogs.example.com(相同的eduPersonTargetedId)
    'authproc' => array(
        50 => array(
            'class'  => 'hubandspoke:TargetedID',
            'salt'   => 'randomString',
            'values' => array(
                'new' => array(
                    'prefix'          => '{new}',
                    'targetTransform' => array(
                        '#^(https?://)[^./]+\.(blogs\.example\.com)(/|$).*$#' => '$1$2/',
                    ),
                ),
                'old' => array(
                    'prefix'       => '{old}',
                    'hashFunction' => 'md5',
                    'userID'       => array('Attributes/mail', 'UserID'),
                    'fields'       => 'userID',
                    'ifTarget'     => '#^https?://([^./]+\.)*example\.com(/|$)#',
                ),
            ),
        ),
    ),
'{new}' + sha256(salt + '@@' + userID + '@@' + targetID* + '@@' + sourceID + '@@' + salt)
'{old}' + md5(userID) 						  only for *.example.com