{"id":16494781,"url":"https://github.com/vierbergenlars/authserver","last_synced_at":"2025-10-27T21:31:24.069Z","repository":{"id":28406226,"uuid":"31920649","full_name":"vierbergenlars/authserver","owner":"vierbergenlars","description":":closed_lock_with_key: An OAuth2-based single-signon authentication provider written in PHP","archived":true,"fork":false,"pushed_at":"2019-12-03T07:28:43.000Z","size":1174,"stargazers_count":2,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-11T23:43:31.255Z","etag":null,"topics":["authentication","authorization","groups","identity","oauth","php","registration","user-management","user-profile"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vierbergenlars.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-09T20:23:18.000Z","updated_at":"2023-04-17T07:38:36.000Z","dependencies_parsed_at":"2022-09-01T14:23:53.694Z","dependency_job_id":null,"html_url":"https://github.com/vierbergenlars/authserver","commit_stats":null,"previous_names":[],"tags_count":38,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vierbergenlars%2Fauthserver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vierbergenlars%2Fauthserver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vierbergenlars%2Fauthserver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vierbergenlars%2Fauthserver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vierbergenlars","download_url":"https://codeload.github.com/vierbergenlars/authserver/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238560952,"owners_count":19492613,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication","authorization","groups","identity","oauth","php","registration","user-management","user-profile"],"created_at":"2024-10-11T14:15:35.561Z","updated_at":"2025-10-27T21:31:18.596Z","avatar_url":"https://github.com/vierbergenlars.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Authserver\n\nAuthserver is an OAuth2-based single-signon authentication provider written in PHP.\n\nAuthserver is the central hub that stores and provides user accounts and user-specific data to other services that\nrequire this data.\n\nIts primary usecase is handling the authentication for all webbased applications within one organisation,\nbut security controls allow to expose limited access to other organisations.\n\n## License\n\nAuthserver is licensed under the terms of the GNU Affero General Public License, either version 3 of the License,\nor (at your option) any later version.\n\nSee the [LICENSE.md](https://github.com/vierbergenlars/authserver/blob/master/LICENSE.md) file for a full copy of the license.\n\n## Installation\n\n### Automated installation\n\nYou can quickly deploy this application with [clic](https://github.com/vierbergenlars/clic),\nwhich provides an interactive installation and asks you for each configuration parameter.\n\n * To install the master branch: `clic application:clone https://github.com/vierbergenlars/authserver`\n * To install a specific release (copy the download link from [the releases page](https://github.com/vierbergenlars/authserver/releases)): `clic application:extract https://github.com/vierbergenlars/authserver/archive/v0.8.1.zip authserver`\n\nApplication updates will follow the choice you made here and either pull the latest master branch or stick to released versions.\n\n### Manual installation\n\n#### Download\n\nReleases can be downloaded from [the releases page](https://github.com/vierbergenlars/authserver/releases),\nor by checking out a tag from this repository.\n\n#### Configuration\n\nCreate an `app/config/parameters.yml` from the `app/config/parameters.yml.dist` template and fill in the applicable\nconfiguration parameters.\n\nYou can allow users to register themselves by enabling the [registration module](https://github.com/vierbergenlars/authserver/blob/master/documentation/registration.md)\n\n#### Dependencies\n\nPHP dependencies are handled by [`composer`](https://getcomposer.org/),\nthese can be installed with a single `SYMFONY_ENV=prod composer install --no-dev -o` inside the project root.\n\nTo compile the bootstrap stylesheets, `less` is required. Less runs on  [`node.js`](https://nodejs.org/),\nso install that one first. Then run `npm install` inside the project root to install `less`.\n\nThen run the following commands to prepare the database and assets.\n\n```bash\nphp app/console assets:install --env=prod\nphp app/console assetic:dump --env=prod\nphp app/console braincrafted:bootstrap:install --env=prod\nphp app/console doctrine:migrations:migrate --env=prod\nphp app/console app:generate --env=prod\n```\n\n#### Creating the first user\n\nWithout any users, authserver is not really useful, so let's add our first user.\n(Who will be a super-admin to manage the application.)\n\n```bash\nphp app/console app:adduser --super-admin $username $password $email --env=prod\n```\n\nIf you ever happen to forget your password,\nyou can set a new one with `php app/console app:passwd $username $new_password --env=prod`.\n\n#### Publishing the application\n\nOnly the `web/` directory should be publicly accessible, all requests that do not match a file in the `web/` directory\nshould be rewritten to `web/app.php` by the webserver. How to accomplish this depends on your webserver,\nbut a `.htaccess` file that accomplishes this is present in the `web/` folder.\n\n### Plugins\n\nPlugins that extend Authserver and add functionality can be installed with the `./plugin.sh` command.\n\nMore information is available in [the plugins documentation](https://github.com/vierbergenlars/authserver/blob/master/documentation/plugins.md)\n\n## Upgrading\n\nUpgrading can be done easily by overwriting the old files with a fresh copy.\n(If you have cloned the repository, just `git fetch` and check out the newer tag.)\n\nNext, execute the same commands as when installing the dependencies.\n\n### Deployment tool\n\nThere are two different automated deployment tools available: [clic](#clic) and [./deploy.sh](#deploy-sh).\n\n#### clic\n\nUpdate to the latest version with `clic application:execute authserver update`.\n\nIf you are running from the git repository, this will automatically pull down the latest `master` version from the repository\n(it should be stable) and start a deployment.\n\nIf you are running from an extracted archive, this will automatically download and extract the archive for the latest tag\n(this is definitely stable) and start a deployment.\n\n#### deploy.sh\n\nAn automated deployment tool is available as `./deploy.sh`.\n\nIt automatically puts the application in maintenance mode,\npulls the latest version of the current branch and rebases local commits on top of it.\n\n\u003e **WARNING:** When an automatic pull and rebase fails, you will be dropped to a shell to fix the situation.\n\u003e If you have local changes, you can run the following commands to try to fix the situation.\n\u003e ```bash\n\u003e git stash\n\u003e git pull --rebase\n\u003e git stash pop\n\u003e exit\n\u003e ```\n\u003e Because this will result in untested changes, it is recommended to keep your own repository with the necessary\n\u003e changes and merge releases to this repository instead of deploying directly from the master repository.\n\nIt then handles the updating dependencies, assets and database migrations.\nWhen all these steps have completed successfully, the maintenance mode is disabled, and the new version of the application\nis deployed.\n\n##### Advanced usage\n\nThe deployment tool has a number of flags to change its default behavior:\n\n* `-n, --no-pull`: Does not pull a new version from the repository\n* `--skip-maintenance`: Skips manipulations of the maintenance mode\n* `-e \u003cenv\u003e, --env=\u003cenv\u003e`: Changes the symfony environment to run all commands in\n* `-s, --shell`: Starts a shell instead of running any update commands\n* `-l, --lock-maintenance`: Puts the application in maintenance mode. This maintenance mode will only be disabled by running the matching `--unlock-maintenance` command.\n* `-u, --unlock-maintenance`: Disables the maintenance mode\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvierbergenlars%2Fauthserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvierbergenlars%2Fauthserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvierbergenlars%2Fauthserver/lists"}