PHPackages                             bdsu/limesurvey-oauth2 - 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. bdsu/limesurvey-oauth2

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

bdsu/limesurvey-oauth2
======================

Enable Single Sign-On for LimeSurvey using OAuth2

1.0.0(4y ago)161811[3 PRs](https://github.com/BDSU/limesurvey-oauth2/pulls)MITPHPPHP &gt;=5.6

Since Dec 10Pushed 1y ago4 watchersCompare

[ Source](https://github.com/BDSU/limesurvey-oauth2)[ Packagist](https://packagist.org/packages/bdsu/limesurvey-oauth2)[ Docs](https://github.com/BDSU/limesurvey-oauth2)[ RSS](/packages/bdsu-limesurvey-oauth2/feed)WikiDiscussions master Synced 1mo ago

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

What is this
============

[](#what-is-this)

This is an authentication plugin for [LimeSurvey](https://github.com/LimeSurvey/LimeSurvey)enabling Single Sign-On with any identity provider using the OAuth2 protocol.

It uses the [`league/oauth2-client` library](https://github.com/thephpleague/oauth2-client)and can be configured for any identity provider that supports OAuth2 with the *authorization code grant* flow and supports automatic creation of new users.

Installation
============

[](#installation)

- go to [releases](https://github.com/BDSU/limesurvey-oauth2/releases) and download the latest release Zip archive
- for LimeSurvey 5.x: upload the Zip archive in the plugin manager
- for LimeSurvey 3.x: extract the Zip archive and place the contents in `/plugins/AuthOAuth2/`
- configure the plugin in the plugin manager
- activate the plugin in the plugin manager

To test the latest development version `git clone` [this repository](https://github.com/BDSU/limesurvey-oauth2)into `/plugins/AuthOAuth2/` and run `composer install` in it to download all dependencies.

Configuration
=============

[](#configuration)

Before activating the plugin open its configuration from the plugin manager.

With your identity provider create a new app for LimeSurvey and paste the *Redirect URI* shown in the LimeSurvey configuration there. Fill in the *Client ID*, *Client Secret*, *Authorize URL*, *Scopes* and *Access Token URL* into the plugin configuration according to the documentation of your identity provider.

The *User Details URL* should point to an API endpoint that provides a JSON object with details on the current user using the retrieved access token. The details should include a unique username, the e-mail address and a display name. Further below you can specify the keys of the JSON object containing these details.

With the *Identifier Attribute* you can configure whether users should be matched using the *username* or the *e-mail* with existing users in the LimeSurvey database. If *Create new users* is enabled new LimeSurvey users will automatically be created if they can not be found in the database. You can configure permissions and (starting with LimeSurvey 4.x) user roles that will be automatically assigned to all created users.

If *Use as default login* is enabled instead of showing the LimeSurvey login form users will be redirected to the configured OAuth2 identity provider and logged in automatically on success. Otherwise the user has to select OAuth2 as authentication method manually.

Below the *Use as default login* checkbox a URL is shown with which the default login form can always be accessed to login using the internal database even when automatic redirection is enabled.

You can find [a configuration example for Azure Active Directory here](docs/examples/AzureAD.md).

Supported LimeSurvey Versions
=============================

[](#supported-limesurvey-versions)

This plugin was tested with

- the latest stable release v5.2.5
- the latest LTS release v3.27.28

and should work with all version 3.x or newer. Configuring user roles for new users is only supported starting with LimeSurvey 4.x.

The minimum required PHP version is 5.6.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance27

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 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

Unknown

Total

1

Last Release

1614d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/375c596834d00042788dc0373ed6425a9271c49abc8e69c98786edac9b90fd27?d=identicon)[acran](/maintainers/acran)

---

Top Contributors

[![acran](https://avatars.githubusercontent.com/u/4603809?v=4)](https://github.com/acran "acran (14 commits)")

---

Tags

Authenticationoauth2limesurvey

### Embed Badge

![Health badge](/badges/bdsu-limesurvey-oauth2/health.svg)

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

###  Alternatives

[league/oauth2-google

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

41721.2M118](/packages/league-oauth2-google)[league/oauth2-facebook

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

32013.0M66](/packages/league-oauth2-facebook)[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)[cakedc/oauth2-cognito

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

18597.7k](/packages/cakedc-oauth2-cognito)[edwin-luijten/oauth2-strava

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

12102.6k](/packages/edwin-luijten-oauth2-strava)

PHPackages © 2026

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