PHPackages                             uhi67/simplesamlphp-module-attributeaggregator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. uhi67/simplesamlphp-module-attributeaggregator

ActiveSimplesamlphp-module[Authentication &amp; Authorization](/categories/authentication)

uhi67/simplesamlphp-module-attributeaggregator
==============================================

Attribute Aggregator implementation or SAML AttributeQuery

v1.0.8(8y ago)088↓50%PHP

Since Nov 12Pushed 4mo agoCompare

[ Source](https://github.com/uhi67/simplesamlphp-module-attributeaggregator)[ Packagist](https://packagist.org/packages/uhi67/simplesamlphp-module-attributeaggregator)[ RSS](/packages/uhi67-simplesamlphp-module-attributeaggregator/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (3)Versions (16)Used By (0)

Attribute Aggregator module
===========================

[](#attribute-aggregator-module)

[![Latest Stable Version](https://camo.githubusercontent.com/0db04d05655913eb74e1743fa6b9560a9b41d01741013c5630a3369f1f1b78df/68747470733a2f2f706f7365722e707567782e6f72672f6e6969662f73696d706c6573616d6c7068702d6d6f64756c652d61747472696275746561676772656761746f722f762f737461626c65)](https://packagist.org/packages/niif/simplesamlphp-module-attributeaggregator) [![Total Downloads](https://camo.githubusercontent.com/6f4b45da36ada3dfe758b695c46fbb6baeeda1d0d15d3ed18abb108f9c38f193/68747470733a2f2f706f7365722e707567782e6f72672f6e6969662f73696d706c6573616d6c7068702d6d6f64756c652d61747472696275746561676772656761746f722f646f776e6c6f616473)](https://packagist.org/packages/niif/simplesamlphp-module-attributeaggregator) [![Travis](https://camo.githubusercontent.com/018d578a6b3593655a6a2770d48c059f131a17fd5f588db9937bac983fb1699a/68747470733a2f2f7472617669732d63692e6f72672f4e4949462f73696d706c6573616d6c7068702d6d6f64756c652d61747472696275746561676772656761746f722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/NIIF/simplesamlphp-module-attributeaggregator.svg?branch=master)

The Attribute Aggregator module is implemented as an Authentication Processing Filter. It can be configured in the SP's config.php file.

It is recommended to run the Attribute Aggregator module at the SP and configure the filter to run after the federated id, usually eduPersonPrincipalName is resolved.

- [Read more about processing filters in simpleSAMLphp](simplesamlphp-authproc)

Install
-------

[](#install)

You can install the module with composer:

```
composer require niif/simplesamlphp-module-attributeaggregator

```

How to setup the attributeaggregator module
-------------------------------------------

[](#how-to-setup-the-attributeaggregator-module)

The only required option of the module is the `entityId` of the Attribute Authority to be queried. The AA must support `urn:oasis:names:tc:SAML:2.0:bindings:SOAP` binding.

Example:

```
            59 => array(
               'class' => 'attributeaggregator:attributeaggregator',
               'entityId' => 'https://aa.example.com:8443/aa',

              /**
               * The subject of the attribute query. Default: urn:oid:1.3.6.1.4.1.5923.1.1.1.6 (eduPersonPrincipalName)
               */
               //'attributeId' => 'urn:oid:1.3.6.1.4.1.5923.1.1.1.6',

               /**
                * If set to TRUE, the module will throw an exception if attributeId is not found.
                */
               // 'required' => FALSE,

               /**
                * The format of attributeId. Default is 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent'
                */
               //'nameIdFormat' => 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',

               /**
                * The name Format of the attribute names.
                */
               //'attributeNameFormat' => 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri',

               /**
                * The requested attributes. If not present, we will get all
                * the attributes. The keys of the array is the attribute name in (''urn:oid'') format.
                * values:
                *   the array of acceptable values. If not defined, the filter will accept all values.
                * multiSource:
                *   merge:    merge the existing and the new values, this is the default behaviour,
                *   override: drop the existing values and set the values from AA,
                *   keep:     drop the new values from AA and keep the original values.
                */
               // 'attributes' => array(
               //         "urn:oid:attribute-OID-1" => array (
               //               "values" => array ("value1", "value2"),
               //               "multiSource" => "override"
               //               ),
               //         "urn:oid:attribute-OID-2" => array (
               //               "multiSource" => "keep"
               //               ),
               //         "urn:oid:attribute-OID-3" => array (
               //               "values" => array ("value1", "value2"),
               //               ),
               //         "urn:oid:attribute-OID-4" => array ()
               //        ),

            ),

```

You have to define PAOS acs endpoint with correct Location (take a look on VIRTUAL\_HOST env variable), if the AA is a simpleSAMLphp implementation with simplesamlphp-module-aa

authsources.php in the current sp array, ie. `default-sp`

```
        'AssertionConsumerService' => [
          [
            'index' => 0,
            'isDefault' => true,
            'Location' => 'https://' . getenv('VIRTUAL_HOST') . '/simplesaml/module.php/saml/sp/saml1-acs.php/default-sp',
            'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
          ],
          [
            'index' => 1,
            'Location' => 'https://' . getenv('VIRTUAL_HOST') . '/simplesaml/module.php/saml/sp/saml1-acs.php/default-sp',
            'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:PAOS',
          ],
        ],

```

Options
-------

[](#options)

The following options can be used when configuring the '''attributeaggregation''' module

`entityId`: The entityId of the Attribute Authority. The metadata of the AA must be in the attributeauthority-remote metadata set, otherwise you will get an error message.

`attributeId`: This is the *Subject* in the issued AttributeQuery. The attribute must be previously resolved by an authproc module. The default attribute is urn:oid:1.3.6.1.4.1.5923.1.1.1.6 (eduPersonPrincipalName).

`attributeNameFormat`: The format of the NameID in the issued AttributeQuery. The default value is `urn:oasis:names:tc:SAML:2.0:attrname-format:uri`.

`attributes`: You can list the expected attributes from the Attrubute Authority in the *attributes*array. The array contains key-value pairs, where the keys are attribute names in full federated (''urn:oid'') format and the values are arrays with the expected values for that attribute. If the value is an empty array, all the values of the attributes are resolved, otherwise only the matching ones. If the `attributes` option is not defined, every attribute is resolved from the response from the AA.

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance51

Moderate activity, may be stable

Popularity10

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 84.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~199 days

Recently: every ~269 days

Total

12

Last Release

2017d ago

Major Versions

v1.0.8 → v2.0.0-rc12017-12-05

### Community

Maintainers

![](https://www.gravatar.com/avatar/1ad1219ce8d5edfe285bbe8b2f13f3075f4b87311f42e5e227b31b1159418ea1?d=identicon)[uhi67](/maintainers/uhi67)

---

Top Contributors

[![szabogyula](https://avatars.githubusercontent.com/u/3406217?v=4)](https://github.com/szabogyula "szabogyula (22 commits)")[![bajnokk](https://avatars.githubusercontent.com/u/9942990?v=4)](https://github.com/bajnokk "bajnokk (2 commits)")[![jaimeperez](https://avatars.githubusercontent.com/u/1942728?v=4)](https://github.com/jaimeperez "jaimeperez (1 commits)")[![m0ark](https://avatars.githubusercontent.com/u/33390109?v=4)](https://github.com/m0ark "m0ark (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/uhi67-simplesamlphp-module-attributeaggregator/health.svg)

```
[![Health](https://phpackages.com/badges/uhi67-simplesamlphp-module-attributeaggregator/health.svg)](https://phpackages.com/packages/uhi67-simplesamlphp-module-attributeaggregator)
```

###  Alternatives

[simplesamlphp/simplesamlphp

A PHP implementation of a SAML 2.0 service provider and identity provider.

1.1k12.4M193](/packages/simplesamlphp-simplesamlphp)[simplesamlphp/simplesamlphp-module-oidc

A SimpleSAMLphp module adding support for the OpenID Connect protocol

5016.9k1](/packages/simplesamlphp-simplesamlphp-module-oidc)[drupalauth/simplesamlphp-module-drupalauth

A SimpleSAMLphp module adding support for Drupal as the authentication source.

25305.4k1](/packages/drupalauth-simplesamlphp-module-drupalauth)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
