PHPackages                             proxiweb/persona-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. proxiweb/persona-bundle

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

proxiweb/persona-bundle
=======================

Symfony2 Mozilla's Persona security extension

6342[1 issues](https://github.com/Proxiweb/PersonaBundle/issues)PHP

Since Sep 14Pushed 12y ago1 watchersCompare

[ Source](https://github.com/Proxiweb/PersonaBundle)[ Packagist](https://packagist.org/packages/proxiweb/persona-bundle)[ RSS](/packages/proxiweb-persona-bundle/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

PersonaBundle
=============

[](#personabundle)

Mozilla Persona Authentication for Symfony2

With this bundle you can easily setup a Mozilla Persona authentication for your Symfony2 project.

Prerequisites
-------------

[](#prerequisites)

This version of the bundle requires Symfony 2.1+ and FOSUserBundle.

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

[](#installation)

Add PersonaBundle in your composer.json:

```
{
    "require": {
        "proxiweb/persona-bundle": "*"
    }
}
```

Add PersonaBundle in AppKernel.php

```
  ... new Proxiweb\Bundle\PersonaBundle\ProxiwebPersonaBundle(),
```

Now tell composer to download the bundle by running the command:

```
$ php composer.phar update proxiweb/persona-bundle
```

Composer will install the bundle to your project's `vendor/proxiweb` directory.

Configuration
-------------

[](#configuration)

1. Configure FOSUserBundle
2. Login By Email
3. Authentication urls configuration
4. Add Persona's assets
5. Demo page

\###2.Login by Email Persona authenticates users with their email, so you must configure FOSUserBundle to enable login with email :

```
# app/config/security.yml
security:
    providers:
        fos_userbundle:
            # replace fos_user.user_provider.username with fos_user.user_provider.username_email
            id: fos_user.user_provider.username_email
```

\###3. Authentication urls configuration Persona logs the user by perfoming an ajax request to an url which performs authentication. PersonaBundle achieves the authentication process started by accessing a secured url

```
# app/config/security.yml
security:
    firewalls:

        person_secured:
            pattern: ^/persona/login    # the secured url which performs authentication
            persona: true
            context: primary_auth       # use the same context as the FOSUserBundle
            anonymous:    true          # so the persona & login authentication will share the same
        main:                           # security session
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_provider: form.csrf_provider
            logout:       true
            anonymous:    true
            context: primary_auth

    access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/persona/login, role: ROLE_ADMIN }
        - { path: ^/persona/demo, role: IS_AUTHENTICATED_ANONYMOUSLY }   # optional demo page
        - { path: ^/persona/logout, role: IS_AUTHENTICATED_ANONYMOUSLY } # logout url
```

\###4. Add Persona's assets

Add the script to the pages which performs authentication and pages you wants Persona to autolog.

```

```

After this script, include the script `persona_auth.js` provided with this bundle. You can use the stylesheet `persona-buttons.css` to style login and logout button.

\###5.Demo page PersonaBundle provides a demo page at /persona/demo. It uses assetic, so if you wants load this page, you have to add PersonaBundle to Assetic's bundles parameter. Create a user  with FOSUserBundle, signin with your mail, validate your email if this is the first time you use Persona, enjoy.

###  Health Score

22

—

LowBetter than 21% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/908240?v=4)[Régis Guyomarch](/maintainers/Proxiweb)[@Proxiweb](https://github.com/Proxiweb)

---

Top Contributors

[![Proxiweb](https://avatars.githubusercontent.com/u/908240?v=4)](https://github.com/Proxiweb "Proxiweb (12 commits)")

### Embed Badge

![Health badge](/badges/proxiweb-persona-bundle/health.svg)

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

###  Alternatives

[kartik-v/yii2-password

Useful password strength validation utilities for Yii Framework 2.0

761.3M17](/packages/kartik-v-yii2-password)[vitalybaev/laravel5-dkim

Laravel 5/6 package for signing outgoing messages with DKIM.

3163.1k](/packages/vitalybaev-laravel5-dkim)

PHPackages © 2026

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