PHPackages                             ac/login-convenience-bundle - 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. ac/login-convenience-bundle

ActiveSymfony-bundle[Authentication &amp; Authorization](/categories/authentication)

ac/login-convenience-bundle
===========================

Authentication for a Symfony server providing a JSON web API

0.7.4(10y ago)14172[3 issues](https://github.com/AmericanCouncils/login-convenience-bundle/issues)MITPHPPHP &gt;=5.4

Since Mar 10Pushed 10y ago4 watchersCompare

[ Source](https://github.com/AmericanCouncils/login-convenience-bundle)[ Packagist](https://packagist.org/packages/ac/login-convenience-bundle)[ RSS](/packages/ac-login-convenience-bundle/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (3)Versions (16)Used By (0)

Simplifies authentication for a Symfony server providing a JSON web API.

Provides the following on top of Fp/OpenIdBundle:

- OpenID logins
- Abstract User class that implements most of the annoying common stuff
- Security Controller action for logging out
- Session based on Authorization headers instead of cookies
- JSON responses to login/logout requests
- Server side of the reload-less OpenID login mechanism from
- Dummy login mode for development and staging

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

[](#installation)

- Install `ac/login-convenience-bundle` with composer
- If using SQL: Add and run a migration to create User and OpenIdIdentity tables
- Add ACLoginConvenienceBundle and FpOpenIdBundle to AppKernel
- Delete everything from security.yml but this:

```
ac_login_convenience:
    secured_paths:
        - /important-stuff

```

- Add the following to your routing.yml:

```
ac_login_convenience:
    resource: "."
    type: "ac_login_convenience_routes"

```

- Optionally, if you want to use the Authentication header to receive the session key rather than a cookie, set this in config.yml:

```
framework:
  session:
    storage_id: ac_login_convenience.session.storage.auth_header

```

Usage
-----

[](#usage)

Add users to your system with the `create-user` command. You can specify an OpenID identity path when doing so, which allows them to log in via that identity.

Adding OpenID identities
------------------------

[](#adding-openid-identities)

If you don't want to specify the identity in advance, add entries to the `ac_login_convenience.trusted_providers` config option for any OpenID providers that you trust to authenticate previously unknown users:

```
ac_login_convenience:
    trusted_providers:
        - https://somebody.trustworthy.com/openid

```

Any user who logs in via a trusted provider can have that identity matched via email address to existing users you've created. This does require that the provider supply the user's email via the "contact/email" AX field, but this is pretty common.

Alternately, you can make your own OpenID registration system. After verifying in some secure way that an identity URL really does belong to a user, you can call the `associateIdentityWithUser` method on `ac_login_convenience.openid_user_manager`to allow logins for that user with that identity.

Other options
-------------

[](#other-options)

These can be specified under the ac\_login\_convenience config section:

- `dummy_mode`: If true, then instead of actually making OpenID checks on logins, the user can simply pick from a list of all the users in the database. This is useful for the dev environment, but obviously it should not be used on production systems.
- `db_driver`: Defaults to `orm`, meaning that users and identities are accessed via Doctrine ORM. Alternately, you can specify `mongodb`.
- `user_model_class`: You must use your own User class; specify the fully namespaced name of the class here. You should derive it from `Entity\AbstractEntityUser`or `Document\AbstractDocumentUser`, depending on which `db_driver` setting you are using.
- `api_keys`: An optional hash map from user email addresses to API keys. If supplied, then clients can use an "Authorization: Key foobar" header to directly access your app as the given user with key "foobar", without having to go through the full OpenID-authentication and session-creation process.

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 81.7% 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 ~34 days

Recently: every ~52 days

Total

15

Last Release

3958d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/078a9522fb48452e2952c7398e4a555b2501e10e564869efeb4bc1f16547743e?d=identicon)[dsimon](/maintainers/dsimon)

---

Top Contributors

[![DavidMikeSimon](https://avatars.githubusercontent.com/u/350396?v=4)](https://github.com/DavidMikeSimon "DavidMikeSimon (49 commits)")[![evillemez](https://avatars.githubusercontent.com/u/318976?v=4)](https://github.com/evillemez "evillemez (9 commits)")[![cmac1000](https://avatars.githubusercontent.com/u/1151759?v=4)](https://github.com/cmac1000 "cmac1000 (2 commits)")

### Embed Badge

![Health badge](/badges/ac-login-convenience-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/ac-login-convenience-bundle/health.svg)](https://phpackages.com/packages/ac-login-convenience-bundle)
```

###  Alternatives

[fp/openid-bundle

Symfony2 OpenID security extension

5243.1k2](/packages/fp-openid-bundle)[hslavich/simplesamlphp-bundle

SimpleSAMLphp Bundle for Symfony

22199.9k](/packages/hslavich-simplesamlphp-bundle)[korotovsky/sso-sp-bundle

Single-sign-on bundle for Symfony2. Service Provider part.

3316.0k](/packages/korotovsky-sso-sp-bundle)

PHPackages © 2026

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