From d10e49cd4e393632a8dc2f7ad7e95e173b0f29d7 Mon Sep 17 00:00:00 2001 From: Andrew Brereton Date: Wed, 19 Aug 2026 21:48:28 +1000 Subject: [PATCH] Add zestly/dev-login-bundle recipe for 0.1 (#2026) --- .../config/packages/dev/zestly_dev_login.yaml | 16 ++++++++++++ .../config/routes/dev/zestly_dev_login.yaml | 5 ++++ zestly/dev-login-bundle/0.1/manifest.json | 26 +++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 zestly/dev-login-bundle/0.1/config/packages/dev/zestly_dev_login.yaml create mode 100644 zestly/dev-login-bundle/0.1/config/routes/dev/zestly_dev_login.yaml create mode 100644 zestly/dev-login-bundle/0.1/manifest.json diff --git a/zestly/dev-login-bundle/0.1/config/packages/dev/zestly_dev_login.yaml b/zestly/dev-login-bundle/0.1/config/packages/dev/zestly_dev_login.yaml new file mode 100644 index 00000000..d10d200c --- /dev/null +++ b/zestly/dev-login-bundle/0.1/config/packages/dev/zestly_dev_login.yaml @@ -0,0 +1,16 @@ +zestly_dev_login: + # The identities offered by GET /_dev/login and `bin/console dev:login`. + # + # There is no sensible default for this — it depends entirely on your fixtures — which is + # why it is the one setting this recipe writes. Everything else the bundle exposes already + # has a working default and is documented in the README. + # + # This is a convenience menu, not a whitelist: any identifier your application's user + # provider accepts will work, and listing one here grants nothing on its own. + # + # To build the list from your fixtures, a repository, or per-subdomain in a multi-tenant + # app, implement Zestly\DevLoginBundle\Identity\IdentityProviderInterface and alias it — + # it receives the current Request. + identities: [] + # - { identifier: 'admin@example.com', label: 'Admin', roles: ['ROLE_ADMIN'] } + # - { identifier: 'user@example.com', label: 'Regular user' } diff --git a/zestly/dev-login-bundle/0.1/config/routes/dev/zestly_dev_login.yaml b/zestly/dev-login-bundle/0.1/config/routes/dev/zestly_dev_login.yaml new file mode 100644 index 00000000..2f1ea977 --- /dev/null +++ b/zestly/dev-login-bundle/0.1/config/routes/dev/zestly_dev_login.yaml @@ -0,0 +1,5 @@ +# Dev login endpoints. Loaded only because this file lives in config/routes/dev/ — that is +# one of the bundle's safety gates, so a production router never learns these paths exist. +# If you move this file out of a dev-scoped directory, you remove that gate. +zestly_dev_login: + resource: '@ZestlyDevLoginBundle/config/routes.php' diff --git a/zestly/dev-login-bundle/0.1/manifest.json b/zestly/dev-login-bundle/0.1/manifest.json new file mode 100644 index 00000000..076048f5 --- /dev/null +++ b/zestly/dev-login-bundle/0.1/manifest.json @@ -0,0 +1,26 @@ +{ + "bundles": { + "Zestly\\DevLoginBundle\\ZestlyDevLoginBundle": ["dev"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "post-install-output": [ + " * Dev login is ready. Start your server and open:", + "", + " /_dev/login list the identities you can become", + " /_dev/login/{identifier} log in as one of them, no password", + "", + " * List them from the console instead:", + "", + " php bin/console dev:login", + "", + " * Declare who shows up in that list in config/packages/dev/zestly_dev_login.yaml.", + "", + " * This grants password-free login to any account your user provider accepts.", + " It registers no services outside the dev environment, and its routes live in", + " config/routes/dev/ so they do not exist in a production router.", + "", + " * Docs: https://github.com/ZestlyDigital/dev-login-bundle" + ] +}