PHPackages                             singleso/singleso - 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. singleso/singleso

AbandonedArchivedProject[Authentication &amp; Authorization](/categories/authentication)

singleso/singleso
=================

Single Sign-On System

1.0.2(9y ago)118MPL-2.0PHPPHP &gt;=5.4.0

Since Jul 19Pushed 9y ago1 watchersCompare

[ Source](https://github.com/SingleSO/singleso)[ Packagist](https://packagist.org/packages/singleso/singleso)[ Docs](https://github.com/SingleSO)[ RSS](/packages/singleso-singleso/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (9)Versions (4)Used By (0)

SingleSO
========

[](#singleso)

A Single Sign-On server for a private central account system with an OAuth 2 service provider and support for login through third-party account system providers.

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

[](#installation)

**1:** Install the package as a project.

```
composer global require "fxp/composer-asset-plugin:~1.1.1"
composer create-project --prefer-dist --stability=dev singleso/singleso singleso
```

**2:** Copy the `*.sample.php` files in the `config` directory renaming them without `.sample` and configure all the settings.

**3:** From the project root, run the database migrations.

```
php singleso migrate/up --migrationPath=@vendor/dektrium/yii2-user/migrations
php singleso migrate/up
```

**4:** Ideally configure your web server to serve the `web` folder as the document root.

**5:** For pretty URL's (enabled by default in the config settings), in the `web` directory, create an `.htaccess` like the following (or otherwise configure your server to achieve the same result).

```
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

```

(If not configured to be the root of the domain, you will need to adjust the `RewriteBase` path to match).

**6:** Access the web front end and register an account, following the link in the email to finish registering.

**7:** Access your database through the interface of your choice and update the `is_admin` column of the `user` table for the user you just created.

Theming
-------

[](#theming)

You can add or replace default styling using a custom theme.

An example custom theme can be created by creating the following files in the `themes` directory.

```
themes/
- example-theme/
- - static/
- - - theme.css
- - - theme.js
- - theme.json

```

`theme.json`

```
{
	"name": "Example Theme",
	"sourcePath": "static",
	"css": [
		"theme.css"
	],
	"js": [
		"theme.js"
	],
	"depends": [
		"app\\assets\\DefaultThemeAsset"
	],
	"bootstrap": true,
	"juiTheme": true
}
```

`theme.css`

```
.navbar-brand {
	background: blue;
}
```

`theme.js`

```
(function() {
	'use strict';
	var navbarBrand = document.querySelector('.navbar-brand');
	var text = navbarBrand.textContent;
	var toggle = false;
	setInterval(function() {
		navbarBrand.textContent = toggle ? text : 'Sample Theme JavaScript!';
		toggle = !toggle;
	}, 1000);
})();
```

Bugs
----

[](#bugs)

If you find a bug or have compatibility issues, please open a ticket under issues section for this repository.

License
-------

[](#license)

Licensed under the Mozilla Public License, v. 2.0.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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 ~5 days

Total

3

Last Release

3577d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3e36806b51e8bd9662c4a7f6aa9adb026503a8dac006ce64dea9033b60b3a071?d=identicon)[AlexanderOMara](/maintainers/AlexanderOMara)

---

Top Contributors

[![AlexanderOMara](https://avatars.githubusercontent.com/u/1740229?v=4)](https://github.com/AlexanderOMara "AlexanderOMara (8 commits)")

---

Tags

SSOsingle sign on

### Embed Badge

![Health badge](/badges/singleso-singleso/health.svg)

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

###  Alternatives

[league/oauth2-client

OAuth 2.0 Client Library

3.8k118.6M1.2k](/packages/league-oauth2-client)[league/oauth1-client

OAuth 1.0 Client Library

99698.8M106](/packages/league-oauth1-client)[humanmade/wp-simple-saml

WordPress Simple SAML plugin

124284.7k2](/packages/humanmade-wp-simple-saml)[adam-paterson/oauth2-stripe

Stripe OAuth 2.0 Client Provider for The PHP League OAuth2-Client

172.4M4](/packages/adam-paterson-oauth2-stripe)[adam-paterson/oauth2-slack

Slack OAuth 2.0 Client Provider for The PHP League OAuth2-Client

22694.8k5](/packages/adam-paterson-oauth2-slack)[ecphp/cas-bundle

A bundle for Symfony, providing authentication against a Central Authentication Service (CAS) server.

48132.1k1](/packages/ecphp-cas-bundle)

PHPackages © 2026

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