PHPackages                             surfnet/stepup-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. [Framework](/categories/framework)
4. /
5. surfnet/stepup-bundle

ActiveLibrary[Framework](/categories/framework)

surfnet/stepup-bundle
=====================

A Symfony 5|6 bundle that holds shared code and framework integration for all Step-up applications.

7.0.1(5mo ago)128.0k↓35.3%2[2 issues](https://github.com/OpenConext/Stepup-bundle/issues)1Apache-2.0PHPPHP ^8.2

Since Mar 26Pushed 5mo ago14 watchersCompare

[ Source](https://github.com/OpenConext/Stepup-bundle)[ Packagist](https://packagist.org/packages/surfnet/stepup-bundle)[ RSS](/packages/surfnet-stepup-bundle/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (22)Versions (86)Used By (1)

Step-up Bundle
==============

[](#step-up-bundle)

[![Build Status](https://camo.githubusercontent.com/8587e59e4f95e5615fa1a2902808ceb2734b128da3484754bda773c706496942/68747470733a2f2f7472617669732d63692e6f72672f4f70656e436f6e6578742f5374657075702d62756e646c652e737667)](https://travis-ci.org/OpenConext/Stepup-bundle) [![Scrutinizer Code Quality](https://camo.githubusercontent.com/1e276adf4e0da129e7ef8db37efdb67c54647ee73b4a7e238b38dad3b5629cef/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f4f70656e436f6e6578742f5374657075702d62756e646c652f6261646765732f7175616c6974792d73636f72652e706e673f623d646576656c6f70)](https://scrutinizer-ci.com/g/OpenConext/Stepup-bundle/?branch=develop) [![SensioLabsInsight](https://camo.githubusercontent.com/80febe87a196d980f21f71aeb45908184a3b200bc497fc0023d7d00281a19743/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f35623862386438622d653931372d343935342d383138622d3738326439653138316337352f6d696e692e706e67)](https://insight.sensiolabs.com/projects/5b8b8d8b-e917-4954-818b-782d9e181c75)

A Symfony bundle that holds shared code and framework integration for all Step-up applications. See [Stepup-Deploy](https://github.com/OpenConext/Stepup-Deploy) for an overview of Stepup.

Requirements
------------

[](#requirements)

- PHP 8.2 or higher
- Symfony 6.3+ or 7.0+

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

[](#installation)

- Add the package to your Composer file

    ```
    composer require surfnet/stepup-bundle
    ```
- The bundle should be automatically registered in `config/bundles.php` (for Symfony Flex projects). If not, add it manually:

    ```
    // config/bundles.php
    return [
        // ...
        Surfnet\StepupBundle\SurfnetStepupBundle::class => ['all' => true],
    ];
    ```
- Copy and adjust the error templates to your application folder

    - `src/Resources/views/Exception/error.html.twig` → `templates/bundles/SurfnetStepupBundle/Exception/error.html.twig`
    - `src/Resources/views/Exception/error404.html.twig` → `templates/bundles/SurfnetStepupBundle/Exception/error404.html.twig`

### Install resources

[](#install-resources)

For modern Symfony applications, you can use AssetMapper (recommended for Symfony 7.0+) or Webpack Encore to manage assets.

#### Using AssetMapper (Symfony 7.0+)

[](#using-assetmapper-symfony-70)

```
# Install AssetMapper if not already installed
composer require symfony/asset-mapper symfony/asset symfony/twig-pack
```

Copy the bundle's public assets to your project:

```
php bin/console assets:install --symlink
```

Then reference the assets in your templates:

```

```

#### Using Webpack Encore

[](#using-webpack-encore)

Import the bundle's assets in your JavaScript/CSS entry point:

```
// assets/app.js
import '../vendor/surfnet/stepup-bundle/src/Resources/public/js/stepup.js';

// assets/app.css
@import '../vendor/surfnet/stepup-bundle/src/Resources/public/less/stepup.less';
```

Using the locale switcher
-------------------------

[](#using-the-locale-switcher)

The locale switcher is a form that can be rendered with the help of a Twig function.

```
{% if app.user %}
    {% set locale_switcher = stepup_locale_switcher('handler_route', {'return-url': app.request.uri}) %}
    {{ form_start(locale_switcher, { attr: { class: 'form-inline' }}) }}
    {{ form_widget(locale_switcher.locale) }}
    {{ form_widget(locale_switcher.switch) }}
    {{ form_end(locale_switcher) }}
{% endif %}
```

Include the required assets:

```

```

Release strategy
----------------

[](#release-strategy)

### CHANGELOG

[](#changelog)

The changelog for the bundle is kept in the `CHANGELOG.md` file. A history of the releases can be found in this file. Previous release notes are kept in this file for history purposes. Please use markdown to style the changelog.

Please update the changelog with any notable changes that are introduced in an upcoming release. If you are not yet certain what the next release number will be, give the release title a generic value like `Upcoming release`. Make sure before merging the changes to the release branch to update the release title in the changelog.

**Example CHANGELOG entry**

```
# 2.5.23
Brief explanation of the major changes of this release

## New features
 * Title of PR of the new feature #30
 * Support of POST binding for AuthnRequest #31

## Bugfixes
 * Title of PR of the bugfix #33

## Improvements
 * Title of PR of the improvement #29
```

When releasing a hotfix on a release branch, please update the changelog on the release branch and after releasing the hotfix, also merge the hotfix to develop.

###  Health Score

53

—

FairBetter than 97% of packages

Maintenance53

Moderate activity, may be stable

Popularity30

Limited adoption so far

Community24

Small or concentrated contributor base

Maturity91

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 65.9% 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 ~53 days

Recently: every ~151 days

Total

75

Last Release

154d ago

Major Versions

2.0.1 → 3.0.02017-11-30

3.5.2 → 4.0.02018-08-29

4.2.5 → 5.0.0-beta2022-12-20

4.2.6 → 6.0.02023-09-26

6.0.17 → 7.0.02025-11-17

PHP version history (8 changes)0.1.0PHP ~5.4

1.3.0PHP &gt;=5.4,&lt;8.0-dev

1.5.0PHP ^5.6|^7.0

4.1.4PHP ^7.0

4.2.5PHP ^7.2

5.0.0-betaPHP ^7.2|^8.0

6.0.0PHP ^8.1

6.0.8PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/803ee614b9224b163d1bdb86e754af17eea0af3eabeda3e034ee8df1cb7b7e84?d=identicon)[pgmvdm](/maintainers/pgmvdm)

![](https://www.gravatar.com/avatar/616909370e1d434adc1088469108ed5cd32c15656d037d24d89dd9750bbbed00?d=identicon)[phavekes](/maintainers/phavekes)

---

Top Contributors

[![MKodde](https://avatars.githubusercontent.com/u/28252948?v=4)](https://github.com/MKodde "MKodde (149 commits)")[![rjkip](https://avatars.githubusercontent.com/u/1734555?v=4)](https://github.com/rjkip "rjkip (26 commits)")[![pablothedude](https://avatars.githubusercontent.com/u/30088478?v=4)](https://github.com/pablothedude "pablothedude (17 commits)")[![parijke](https://avatars.githubusercontent.com/u/7671998?v=4)](https://github.com/parijke "parijke (11 commits)")[![jorissteyn](https://avatars.githubusercontent.com/u/448056?v=4)](https://github.com/jorissteyn "jorissteyn (8 commits)")[![DRvanR](https://avatars.githubusercontent.com/u/1422284?v=4)](https://github.com/DRvanR "DRvanR (5 commits)")[![pmeulen](https://avatars.githubusercontent.com/u/1485300?v=4)](https://github.com/pmeulen "pmeulen (5 commits)")[![johanib](https://avatars.githubusercontent.com/u/60608181?v=4)](https://github.com/johanib "johanib (3 commits)")[![thijskh](https://avatars.githubusercontent.com/u/3808792?v=4)](https://github.com/thijskh "thijskh (2 commits)")

---

Tags

stepupsurfsurf secure id

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/surfnet-stepup-bundle/health.svg)

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

###  Alternatives

[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[contao/core-bundle

Contao Open Source CMS

1231.6M2.4k](/packages/contao-core-bundle)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M386](/packages/shopware-core)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)

PHPackages © 2026

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