This module is an implementation of a SimpleSAMLphp (SSP) data store to add support for the MongoDB PHP library.
- Can be used for backend storage of sessions in MongoDB
- Includes support for replica sets
PHP 5.5 or higher
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.
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.
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
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.
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.
