# PowerLogin: Brand the Magento 2 Admin Login Screen

> PowerLogin brands the Magento 2 admin login screen with your own logo and background, and sends each admin to the right page after signing in.

---

## Overview

PowerLogin, a Magento 2 admin login branding module, changes what your admin team sees the moment they sign in, not what your customers see. It replaces the stock Magento sign-in screen with your own logo, background image, colour scheme and headline, and it can send each admin user, or each role, to a different page once they are signed in.

Everything is off by default. Install PowerLogin and your admin looks exactly like stock Magento until you switch it on and register it.

![The branded admin sign-in screen with a custom background and logo](images/powerlogin-overview.png)

This module helps you:

- Put your own branding on the admin sign-in, forgotten-password and two-factor screens
- Send individual admins, or every other admin, to a specific page after sign-in (whole roles with PowerLogin Pro)
- Replace the Magento logo in the admin sidebar with your own
- Search Unsplash for a login background, with your own Unsplash key
- Add your own agency credit under the sign-in card instead of the PowerLogin credit (Pro)

---

## When to use this

Use PowerLogin when you want to:

- Give the admin sign-in screen your own look before handing an install over to a client or a new team member
- Stop different admin users landing on the dashboard by default and send each one straight to the page their job actually needs
- Remove the Magento copyright line and the "Magento Admin Panel" label from the login screen for a more polished handover
- Put a client's logo in the admin sidebar so agency staff and the client both recognise the install at a glance
- Replace the PowerLogin credit under the sign-in card with your own agency's name and link (Pro)

---

## Key capabilities

- Branded sign-in screen - your logo, background, colour scheme and headline on the sign-in, forgotten-password and two-factor screens
- Two login styles - Bare puts the form on the photograph itself, Frosted centres it in a glass card
- Four colour schemes - match the visitor's device, force light, force dark, or follow the local time of day
- Landing pages - per admin user and a store-wide default, plus per role (Pro), each one permission-checked before it is used
- "Return to my last admin section" (Pro) - an admin can be sent back to whichever admin section they were last working in, instead of a fixed page
- Admin menu logo - your own logo in the admin sidebar, independent of the sign-in branding
- Unsplash background picker - search and apply a login background, with a small photographer credit you can switch off
- White-label credit (Pro) - replace or remove the PowerLogin credit under the sign-in card

---

## Installation

PowerLogin installs via Composer, then a free registration key and the General group switch activate its features. The whole flow takes a few minutes.

**Prefer a hands-off setup?** Our team can install and configure the extension for you - see the [paid install service](/installation).

### Step 1: Get your Composer keys from Moogento.com

1. Sign in at **https://www.moogento.com** and open **My Plugins** in your account menu.
2. Find **PowerLogin** in the list of plugins you own.
3. Generate (or reveal) the Composer access keys for that plugin, a **public key** and a **private key**.
4. **Add your install domain to the key.** Each Composer key is tied to a specific domain. If you are installing on `yourstore.com`, add `yourstore.com` to the key's allowed domains. The Composer download is rejected on any other domain.

If you run staging and production on different domains, add both, or use separate keys per environment.

### Step 2: Install the module with Composer

From your Magento 2 root directory:

```
composer require moogento/m2-powerlogin
```

When Composer asks for credentials, paste the **public key** as the username and the **private key** as the password. They are cached in `~/.composer/auth.json` for future runs.

### Step 3: Enable the module in Magento

```
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento cache:clean
```

On a production-mode store, also run `php bin/magento setup:static-content:deploy` to publish the login page assets.

Run `php bin/magento module:status Moogento_PowerLogin` to confirm it is enabled.

### Step 4: Register PowerLogin for free

PowerLogin is a free module, but it asks for a registration key before it does anything. The key does not unlock Free features and does not cost anything: every Free feature is available to every registered install. White-label credit, role landing pages and return-to-last-section require PowerLogin Pro.

1. Go to **Stores > Configuration > Moogento > PowerLogin > General**.
2. Click **Get a free key**, which opens `https://moogento.com/powerlogin-m2`.
3. Paste the key into the **Registration Key** field. It follows the pattern `PL-XXXX-XXXX-XXXX-CC`.
4. Set **Enable PowerLogin** to **Yes** in the General group. A valid Pro licence also satisfies registration, but the master switch still needs to be enabled.
5. Click **Save Config**.

The key is checked locally on your own server. PowerLogin never contacts Moogento to validate it. Automatic sign-in rendering makes no outbound requests; an admin who searches Unsplash in configuration causes the Magento server to contact Unsplash to search for and download the selected photo. Until registration is complete and **Enable PowerLogin** is set to **Yes**, the sign-in screen, admin logo and landing pages stay as stock Magento leaves them.

### Extra steps for PowerLogin Pro

PowerLogin Pro replaces the PowerLogin credit under the sign-in card with your own text and link. It needs the free PowerLogin module already installed.

1. Follow steps 1 and 2 above for **PowerLogin Pro** in **My Plugins**, then run:
   ```
   composer require moogento/m2-powerloginpro
   ```
   Composer also pulls in `moogento/m2-license` and `moogento/m2-core` if they are not already installed. PowerLogin Pro needs PHP 8.2, 8.3 or 8.4.
2. Run the same `setup:upgrade`, `setup:di:compile` and `cache:clean` commands as above.
3. In your Magento admin, go to **Stores > Configuration > Moogento > License**.
4. Find the row for **PowerLogin Pro** and paste your `powerloginpro-m2` licence key.
5. Click **Save Config**, then run `php bin/magento cache:clean` once.

A valid Pro licence also covers the free PowerLogin experience, so a Pro customer does not need a separate `PL-` registration key as well.

---

## Setup overview

Most setup happens in:

Stores > Configuration > Moogento > PowerLogin

You'll mainly work with:

- General
- Login screen
- Login screen: Advanced
- Admin logo
- Landing pages
- White label (Pro only, appears once PowerLogin Pro is installed)

---

## Common setups

### Brand the admin sign-in screen

This is the main reason most merchants install PowerLogin: replace the stock Magento sign-in screen with something that looks like the store, not the platform.

#### How to set it up

1. Go to:
   Stores > Configuration > Moogento > PowerLogin > Login screen

2. Set:
   - **Brand the login screen** = Yes
   - **Logo** = **Your store logo: the one saved under Content, Design, Configuration** (`store`), **The Magento mark** (`magento`), or **A logo you upload here** (`custom`)
   - **Colour scheme** = **Match the admin's device**, **Always light**, **Always dark**, or **Light by day, dark after dark**
   - **Hide the Magento branding** = Yes to drop the Magento copyright line and edition text

3. Use the **Look** panel in the same group to choose a login style (Bare or Frosted), pick a background image from the built-in library or your own upload, and set the greeting lines shown above the form.

4. Save config.

![The Login screen controls for branding, logo and colour scheme](images/config-login.png)

#### Notes

- Bare puts the sign-in form directly on the photograph. Frosted centres a glass card over the photograph, which keeps the form easy to read on any background.
- With **Colour scheme** set to **Light by day, dark after dark**, the sign-in screen turns dark from 19:00 to 07:00 in the visitor's own local time, not the store's server time, so admins in different time zones can see different schemes on the same login.
- If the logo source you choose has no file to show, PowerLogin falls back to the bundled Magento mark rather than showing no logo at all.
- A dark background or dark logo is only used when the colour scheme resolves to dark. Leave a dark slot empty and the light version is used instead.
- The image library ships with a set of ready-made background photographs, several of them with matching day and night versions, so a fresh install already has a background before you upload anything.

---

### Send admins to a specific page after they sign in

Different admin users usually need different starting points. A warehouse picker does not need the dashboard; a store manager might.

#### How to set it up

1. Go to:
   Stores > Configuration > Moogento > PowerLogin > Landing pages

2. Set:
   - **Enable landing pages** = Yes
   - **Landing page for everyone else** = the page admins should land on when they have no page of their own set

3. For an individual admin, open **System > Permissions > All Users**, edit the user, and set their landing page on the user edit form. This requires permission to manage admin users. With PowerLogin Pro, you can also set one for a whole role: open **System > Permissions > User Roles**, edit the role, and set it there. Without Pro the role field is shown locked.

4. Save config, or save the user or role.

![The Landing pages config group with a store-wide default page chosen](images/config-landing.png)

![The landing-page field PowerLogin adds to the admin user edit form](images/page-user-edit-landing.png)

#### Notes

- The order is: the admin user's own choice first, then their role, then the store-wide default above, then Magento's own default page if none of those are set.
- Every one of those pages is permission-checked before it is used, so nobody is ever sent to a page they are not allowed to open.
- With PowerLogin Pro, the admin user's own landing-page list also offers **Return to my last admin section** (without Pro it is listed but locked): instead of a fixed page, that admin lands wherever they were last working when they signed out. The role and store-wide lists do not offer this option. It needs `setup:upgrade` to run once, since it stores the last section in its own database table, but it costs nothing to turn on.
- With admin secret keys turned off, someone who followed a direct link into the admin before signing in returns to that link afterwards, not to their landing page. That is deliberate: it keeps the link they clicked working.
- Upgrading from a Magento 1 install of PowerLogin does not carry landing pages over. Magento 1 stored a different kind of page reference with no reliable Magento 2 equivalent, so each user or role needs setting again.

---

### Put your own logo in the admin sidebar

#### How to set it up

1. Go to:
   Stores > Configuration > Moogento > PowerLogin > Admin logo

2. Set:
   - **Admin Menu Logo** = upload your logo file (PNG, JPG, GIF or WEBP; SVG is not accepted)

3. Save config.

![The Admin logo config group with a custom sidebar logo uploaded](images/config-branding.png)

#### Notes

- This is independent of the sign-in screen branding. You can set the sidebar logo without branding the login screen, and the other way around.
- Uploads are checked by their actual file contents, not by the file extension, so a mislabelled file is still rejected.

---

### Search Unsplash for a login background

#### How to use it

1. Go to:
   Stores > Configuration > Moogento > PowerLogin > Login screen
2. Add your **Unsplash Access Key** from the Unsplash developer site and save the configuration.
3. Open the **Look** panel and use the Unsplash search box to find a background.
4. Pick a photo for the light slot, the dark slot, or both, then save.

PowerLogin shows the background search after you add an Unsplash access key in the settings. Search and import requests are sent from your Magento server directly to Unsplash, and the selected photo is stored in your store's media library.

#### Photographer credit

- When the sign-in screen shows an Unsplash photo, a small line reading "Photo: {name} on Unsplash" appears at the bottom right. It is plain text, not a link.
- To hide it, set **Show the photographer's name** to **No** in the Login screen group.
- The credit only appears for Unsplash photos. Bundled backgrounds and your own uploads never show one, and choosing one of those clears the credit for that slot.

#### Notes

- The login page never loads an image directly from Unsplash: the photo you pick is downloaded once and served from your own media folder afterwards. Searching and importing does contact Unsplash from the Magento server.
- PowerLogin does not send login or admin activity data to Moogento. Image and other static or media files may be delivered from the host configured by your Magento installation, including a CDN.
- If Unsplash says the hourly limit has been reached, wait for it to reset or replace the key with another Unsplash application key.

---

## Features reference

### Two-factor and password-recovery screens

- What it does: applies the same branding to the forgotten-password screen and to two-factor authentication screens as it does to the main sign-in screen
- When to use it: automatically, whenever **Brand the login screen** is on. No separate setting is needed
- Config path: `moogento_powerlogin/login/enable`

Branding reaches a two-factor screen automatically when its provider uses Magento's standard admin login page layout, which every built-in Magento two-factor provider does. PowerLogin brands the shell around the form and never replaces the form itself, so the actual challenge behaves exactly as the provider intends.

### Direct image uploads (advanced)

- What it does: gives you four upload fields for the logo, dark logo, background image and dark background image, as an alternative to the Look panel's picker
- When to use it: when it is easier to upload files directly than to use the Look panel, or when scripting a deployment
- Config paths: `moogento_powerlogin/login/logo`, `moogento_powerlogin/login/logo_dark`, `moogento_powerlogin/login/background_image`, `moogento_powerlogin/login/background_image_dark`

The logo fields here only appear once **Logo** in the Login screen group is set to `custom`. An existing upload here is kept even if you switch the Logo source away and back later.

![The Login screen Advanced config group with the four upload fields](images/config-login-advanced.png)

### Registration and logging

- What it does: holds the master on/off switch, the free registration key, and the logging level
- When to use it: the registration key once, during setup; the logging level only while troubleshooting with support
- Config paths: `moogento_powerlogin/general/enable`, `moogento_powerlogin/general/key`, `moogento_powerlogin/general/log_level`

Leave **Logging Level** on **Errors only (recommended)** day to day. PowerLogin writes to `var/log/moogento_powerlogin.log`, prefixed with the class and method that logged it.

![The General config group showing the master switch and registered key](images/config-general.png)

---

## PowerLogin Pro (upgrade)

PowerLogin Pro adds your own credit under the sign-in card (or no credit), landing pages by role, and the "Return to my last admin section" option for individual admins. The free module includes per-user and store-wide landing pages.

### What it adds

- **Your credit** - your own plain text under the sign-in card instead of "PowerLogin", up to 64 characters
- **Credit link** - an optional link on that text, which must be a full `http://` or `https://` address up to 255 characters
- **No credit** - remove the product credit from the sign-in card completely
- **Landing pages by role** - set a start page once on a role under System > Permissions > User Roles
- **Return to my last admin section** - an option in each admin user's landing-page list

Role landing pages and return-to-last-section choices saved before Pro was active are kept, and start working as soon as the Pro licence is valid.

### How to set it up

1. Install PowerLogin Pro and add a valid `powerloginpro-m2` Pro-tier licence under **Stores > Configuration > Moogento > License** (see [Extra steps for PowerLogin Pro](#extra-steps-for-powerlogin-pro) above).
2. Go to:
   Stores > Configuration > Moogento > PowerLogin > White label

3. Set:
   - **Credit** = **PowerLogin credit** (the default), **Your own credit**, or **No credit**
   - **Your credit** = your agency or store name, when Credit is set to Your own credit
   - **Credit link** = where that text should link to, left empty to show it as plain text

4. Save config.

#### Notes

- Every field here is locked and shows an explanatory note until a valid Pro licence is active. It is not hidden, so once PowerLogin Pro is installed, you can see what a licence unlocks before adding a licence key.
- Setting Your own credit with no text still shows the free PowerLogin credit rather than an empty line, so a half-finished setup never leaves the sign-in card looking broken.
- An unsafe or malformed link is never shown as clickable. The text still renders, just without the link.
- If your Pro licence lapses or is removed while a valid free `PL-` registration key is also in place, the sign-in screen quietly returns to the free PowerLogin credit. Keeping a free key registered is worth doing as a fallback for this reason. Without a `PL-` key as well, PowerLogin turns off entirely and your admin reverts to stock Magento. Your saved Pro settings are kept either way and reapply automatically if the licence becomes valid again.
- A valid Pro licence also satisfies the free registration requirement, so a Pro customer never needs to add a separate `PL-` key as well.

![The White label config group with a custom credit and link entered](images/config-white-label-pro.png)

---

## Tips & best practices

- Register PowerLogin and set **Enable PowerLogin** to **Yes** after installation. Registration is free, and features stay inactive until registration and the master switch are both in place.
- With PowerLogin Pro, set up landing pages by role first, then override individual users only where their job genuinely differs from their role's default. It is far less to maintain than setting every user individually.
- Test the "Light by day, dark after dark" colour scheme by changing your device clock rather than waiting for evening, since it follows the visitor's own local time.
- Keep **Logging Level** on **Errors only (recommended)** unless you are actively working with Moogento support on a specific issue.
- If you plan to hand a store off to a client, brand the sign-in screen and set **Hide the Magento branding** to Yes before the handover, and consider a Pro credit if you want your own name on it instead.

---

## Troubleshooting

### Nothing changes after enabling PowerLogin

You have switched **Enable PowerLogin** on, but the sign-in screen and admin logo still look like stock Magento.

- **Cause:** the free registration key is missing or was not saved correctly.
- **Check:** Stores > Configuration > Moogento > PowerLogin > General, and confirm the Registration Key field shows **Registered**.
- **Resolution:** click **Get a free key**, paste the key you receive into the Registration Key field, and save config again.

### The login screen is stock Magento even though everything is on

Branding, registration and the Look panel are all configured, but the sign-in screen still shows the default Magento design.

- **Cause:** `Moogento_AdminLogin` is enabled on the same install. PowerLogin yields to it deliberately rather than fighting over the same login page.
- **Check:** run `php bin/magento module:status Moogento_AdminLogin` to confirm the module is enabled. To verify the conflict in the PowerLogin log, temporarily set **Logging Level** to **Info**, reproduce the login request, then check `var/log/moogento_powerlogin.log` for an info line naming `Moogento_AdminLogin`. Return the logging level to its previous setting afterwards.
- **Resolution:** decide which of the two modules should own the login page, and disable the other.

### Unsplash search says the limit has been reached

- **Cause:** the configured Unsplash application's hourly allowance has been used.
- **Resolution:** try again after the limit resets, or replace the key in **Unsplash Access Key** with another Unsplash application key.

### The sign-in screen shows a flat colour instead of a background

- **Cause:** the background slot holds an empty value, or the static media files were not deployed.
- **Check:** the Look panel's background preview, and whether production mode has had static content deployed since the change.
- **Resolution:** choose a background in the Look panel and save. On production mode, run `setup:static-content:deploy` afterwards.

### An admin lands somewhere unexpected after signing in

- **Cause:** their chosen landing page is disabled, no longer exists, or their role cannot open it, so PowerLogin falls through to the next rung: role, then store default, then Magento's own default.
- **Check:** the user's and role's landing page settings under System > Permissions.
- **Resolution:** pick a page the user's role can actually open, or leave the field unset to use the role or store default deliberately.

### Locked out of the admin, or the login page will not render

PowerLogin is never in the credential path and cannot affect whether a password is accepted, but if branding a page ever causes a display problem, switch it off from the command line without needing an admin session:

```
bin/magento config:set moogento_powerlogin/general/enable 0
bin/magento cache:flush
```

As a harder stop, disable the module outright. If PowerLogin Pro is installed, include both modules so the dependency is disabled together:

```
bin/magento module:disable Moogento_PowerLoginPro Moogento_PowerLogin
```

If PowerLogin Pro is not installed, run the same command with only `Moogento_PowerLogin`.

In production mode, compile dependency injection after disabling the module, then flush the cache:

```
php bin/magento setup:di:compile
php bin/magento cache:flush
```

The stock Magento login screen is available again after the disable completes and, in production mode, the compile and cache flush finish.

---

## FAQs

<!-- seo: FAQPage schema - the page converter should emit JSON-LD for this section -->

## How do I register PowerLogin?

Go to Stores > Configuration > Moogento > PowerLogin > General and click **Get a free key**, which opens the PowerLogin page on moogento.com. Paste the key into Registration Key, set **Enable PowerLogin** to **Yes**, and save config. The key is free and checked locally on your own server; the master switch must also be enabled.

## Why does PowerLogin ask for a key if it's free?

The key registers your install rather than licensing it: registering does not unlock an extra tier or paid feature, since the free module has none of its own to unlock. It exists so your first contact with a Moogento key happens on a free product. Until you register and set **Enable PowerLogin** to **Yes**, the module stays inert and your admin looks exactly like stock Magento.

## How do I send a specific admin to a different page after they sign in?

Set a landing page on that user's admin account under System > Permissions > All Users, after turning on **Enable landing pages** in the PowerLogin configuration. See [Send admins to a specific page after they sign in](#send-admins-to-a-specific-page-after-they-sign-in) for the full order roles and store defaults are checked in.

## Can I remove the Magento branding from the admin login screen?

Yes. Set **Hide the Magento branding** to Yes under Stores > Configuration > Moogento > PowerLogin > Login screen. It removes the Magento copyright line, the "Magento Admin Panel" text and the edition badge together, as one setting rather than three.

## What happens if I disable PowerLogin?

The admin sign-in screen, the admin sidebar logo and the landing pages all revert to stock Magento behaviour immediately. PowerLogin is never involved in checking a password, so disabling it never affects whether anyone can sign in.

## Does PowerLogin work with two-factor authentication?

Yes. PowerLogin brands the shell around any two-factor screen that uses Magento's standard admin login page layout, which covers every built-in Magento two-factor provider, and it never replaces the two-factor form itself.

## Is PowerLogin compatible with Hyva, Luma or Porto?

Yes, because PowerLogin only touches the Magento admin, not the storefront. It has no effect on which storefront theme a store runs, so Hyva, Luma and Porto installs all work the same way.

## What does upgrading to PowerLogin Pro add?

PowerLogin Pro replaces the PowerLogin credit under the sign-in card with your own text and an optional link, or removes the credit entirely. It also unlocks landing pages by role and the "Return to my last admin section" option for individual admins. It needs a valid `powerloginpro-m2` Pro licence.

## Does the registration key expire or need renewing?

No. It is validated locally using a fixed checksum, with no connection back to Moogento and no expiry date to track.

## Will PowerLogin ever lock me out of the admin?

No. Every login-page change PowerLogin makes is wrapped so a problem falls back to the stock Magento login screen rather than an error page, and there is also a command-line switch that turns the whole module off without needing an admin session. See [Locked out of the admin](#locked-out-of-the-admin-or-the-login-page-will-not-render) above.

---

## Related guides

- [NoMoreSpam / NoMoreSpam Pro](../nomorespam/nomorespam.md) - NoMoreSpam Pro can protect the admin forgotten-password form; PowerLogin checks for that protection before showing its own recovery screen so the two never conflict
- **Moogento License** - where you add the PowerLogin Pro licence key, under Stores > Configuration > Moogento > License

---

## Need help?

- [Moogento support desk](https://support.moogento.com/help/3673161827) - the fastest route, and it covers free modules too
- moo@moogento.com if you would rather email
- Include:
  - Magento version
  - Module name
  - What you're trying to do
