makeitheady/simplesamlphp-module-mongodb

A SimpleSAMLphp module to provide a SimpleSAML_Store implementation for MongoDB in PHP 5.5 or higher.

Installs: 3 769

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 5

Type:simplesamlphp-module

v3.1.0 2023-11-30 07:44 UTC

README

Travis build status

This module is an implementation of a SimpleSAMLphp (SSP) data store to add support for the MongoDB PHP library.

Features

  • Can be used for backend storage of sessions in MongoDB
  • Includes support for replica sets

Requirements

PHP 5.5 or higher

SimpleSAMLphp

MongoDB

MongoDB PHP extension

Installation

If your project manages SSP with Composer run:

php composer.phar require makeitheady/simplesamlphp-module-mongodb

This command will add makeitheady/simplesamlphp-module-mongodb to your projects' composer.json file and install the module into SSP's modules directory, which relative to your project's root directory is conventionally vendor/simplesamlphp/simplesamlphp/modules.

Usage

Set the store.type option in your SSP config file to mongo:Store.

Provide your MongoDB connection information to the module by copying the file provided in the config-templates directory into SSP's config directory, and setting the following environment variables:

DB_DEFAULT_CONNECTION
DB_MONGODB_HOST
DB_MONGODB_PORT
DB_MONGODB_USERNAME
DB_MONGODB_PASSWORD
DB_MONGODB_DATABASE

DB_DEFAULT_CONNECTION - can be set to following configuration:

mongodb - default
mongodb_replica - mongodb replica set
mongodb_replica_string - full mongo db connection string with replica set

If your connecting to a replica set, you'll need to set the following environment variables below as well:

DB_DEFAULT_CONNECTION   # Must contain the substring "_replica"
DB_MONGODB_REPLICASET
DB_MONGODB_READ_PREFERENCE

See the MongoDB extension PHP Manual for more information about appropriate values for DB_MONGODB_REPLICASET and DB_MONGODB_READ_PREFERENCE.

If you want to use full database connection string, you'll need to set the following environment variables below as well:

DB_DEFAULT_CONNECTION=mongodb_replica_string
DB_MONGODB_DSN=<mongodb connection string>
DB_MONGODB_DATABASE

Finally, you can enable the module by creating an empty file name enable in the vendor/simplesamlphp/simplesamlphp/modules/mongodb directory.

Note: This module stores PHP session data in the session collection.

Running test

Setup up configuration in fixture. test/lib/Store/fixture/single-host/module_mongodb.php Set environment variables manually:

export DB_DEFAULT_CONNECTION=<database connection>
export DB_MONGODB_DATABASE=<database>

Running the test:

vendor/bin/phpunit --bootstrap vendor/autoload.php --testsuite Store Tests

Contributing to SimpleSAMLphp Mongo Module

To report a bug or enhancement request, feel free to file an issue under the respective heading.

If you wish to contribute to the project, fork this repo and submit a pull request.

License

prolific

Copyright (c) 2017 Prolific Interactive

SimpleSAMLphp Mongo Module is maintained and sponsored by Prolific Interactive. It may be redistributed under the terms specified in the LICENSE file.