PHPackages                             simplesamlphp/simplesamlphp-module-infocard - 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. simplesamlphp/simplesamlphp-module-infocard

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

simplesamlphp/simplesamlphp-module-infocard
===========================================

A SimpleSAMLphp module that works with Information Cards technologies.

v1.0.2(8y ago)116.4kPHP

Since Mar 9Pushed 6y ago6 watchersCompare

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

READMEChangelog (2)Dependencies (1)Versions (5)Used By (0)Security (2)

Information cards module for simpleSAMLphp
==========================================

[](#information-cards-module-for-simplesamlphp)

**WARNING: THIS IS NOT mature software, it's released with testing, educational, developing purposes. It's on a very early version, so don't rely the life of anybody on it.**

Introduction
------------

[](#introduction)

This is a SimpleSAMLphp module that works with Information Cards technologies and provides two basic functionalities:

- **RP**: acting as a *Relying Party*, you can accept user authentication through InfoCards consuming tokens sent by an STS.
- **STS**: acting as a *Secure Token Service* you can provide information to a RP generating tokens. Currently, only user password and self issued credentials are supported.
- **InfoCard Generator**: your users could request their InfoCard filling a form with their username and password.

Very important
--------------

[](#very-important)

This document is not a strict guide, I mean it might have some errors or missed information. I've tried to comment almost every trick I've used to make the system work and make your life easier. So, if at any point of the installation you feel lost, breathe twice, think for ten minutes in what you are trying to do, read again the documentation and use your common sense. It'll be useful when you'll face again the configuration file.

Installation
------------

[](#installation)

Once you have installed SimpleSAMLphp, installing this module is very simple. Just execute the following command in the root of your SimpleSAMLphp installation:

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

```

where `dev-master` instructs Composer to install the `master` branch from the Git repository. See the [releases](https://github.com/simplesamlphp/simplesamlphp-module-infocard/releases) available if you want to use a stable version of the module.

When you have successfully installed your module, you need to proceed with the following steps:

1. Copy the *InfoCard* folder in your modules directory in your SimpleSAMLphp installation directory.
2. Copy (or move) the file `modules/InfoCard/extra/config-login-infocard.php` to the config directory in your SimpleSAMLphp installation directory.
3. Edit the `config/config-login-infocard.php` file, you should configure some values like: `help_desk_email_URL`, `contact_info_URL`, `server_key`, `server_crt`, `sts_crt`, `requiredClaims` and `optionalClaims` to fit your needs.
4. Edit the `config/authsources.php` file, add the following text before the last `);`:

```
        'InfoCard' => [
            'InfoCard:ICAuth',
        ],
```

5. That's all.

Adding an Infocard Generator
----------------------------

[](#adding-an-infocard-generator)

1. Go into the `modules/InfoCard` folder.
2. Copy `extra/getinfocard.php` to `www/getinfocard.php`
3. Edit the `config/config-login-infocard.php` file and uncomment this line:

```
    // 'CardGenerator' => 'getinfocard.php', (delete the heading slashes "//").
```

4. Following the previous example, uncomment this `values:certificates`, `sts_key`, `tokenserviceurl` and `mexurl`.
5. Check the previous values and modify them if you need.
6. Read the **User functions** section.

Adding the STS functionality
----------------------------

[](#adding-the-sts-functionality)

1. Go into the `modules/InfoCard` folder.
2. Copy `extra/mex.php` and `extra/tokenservice.php` to the `www` folder.
3. Edit the `config/config-login-infocard.php` file and uncomment the values: `certificates` and `sts_key`.
4. Read the **User functions** section.

User functions
--------------

[](#user-functions)

Because there are many authentication issues I cannot guess for you, you'll have to code a little bit to fit this module to your authentication system.

We we'll work with the file `UserFunctions.php` located in `modules/InfoCard/lib/`.

- `validateUser`: it receives two strings, username and password, you do the validation (against your database?) and return true if you want to validate the user or false instead.
- `fillClaims`: it's used by the *tokenservice* to give information about the user to the relying party. It receives the username, the configured required and optional claims and the claims requested by the RP. It works filling the *claimValues* array and your job is the ensure the *value* variable (`$claimValues[$claim]['value']=` ) of the array gets the value you want. Understand that requested values and your configured ones could not match.
- `fillICdata`: it's used by the card generator to retrieve needed information. It receives an authenticated username and returns an array containing information such as the card name, the card image, the expiring time, etc.

Certificates and hosts
----------------------

[](#certificates-and-hosts)

The architecture is composed by three independent elements:

- **User**: Identity Selector
- **IDP**: Relying Party
- **STS**: IC and token generation.

That's because you should configure two hosts (with two x509 certificates) if you want two have the IDP and STS functionalities in the same machine.

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~237 days

Total

3

Last Release

3238d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/579a16ea8afccc6ab420c393f0e573296fe46dcd293aa4f3b71eefc158ebf3e4?d=identicon)[jaime](/maintainers/jaime)

![](https://www.gravatar.com/avatar/9221e348303eeda74e85236a8bff9b919a90d10e3a478fe1cbb9d833f68d0150?d=identicon)[thijskh](/maintainers/thijskh)

![](https://www.gravatar.com/avatar/d424231c85138609ae230ccd5002c8025fd5dce7f51b2f1778f69ba3a49a4efa?d=identicon)[tvdijen](/maintainers/tvdijen)

---

Top Contributors

[![jaimeperez](https://avatars.githubusercontent.com/u/1942728?v=4)](https://github.com/jaimeperez "jaimeperez (20 commits)")[![tvdijen](https://avatars.githubusercontent.com/u/841045?v=4)](https://github.com/tvdijen "tvdijen (19 commits)")[![olavmo-sikt](https://avatars.githubusercontent.com/u/98447575?v=4)](https://github.com/olavmo-sikt "olavmo-sikt (11 commits)")[![edelahozuah](https://avatars.githubusercontent.com/u/13333335?v=4)](https://github.com/edelahozuah "edelahozuah (8 commits)")[![andreassolberg](https://avatars.githubusercontent.com/u/101361?v=4)](https://github.com/andreassolberg "andreassolberg (7 commits)")

---

Tags

simplesamlphpinfocard

### Embed Badge

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

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

###  Alternatives

[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)
