Skip to content

Shopping Admin

Magento 2 admin panel for e-commerce management.

Property Value
Port 7780
Env-Ctrl Port 7781
Image am1n3e/webarena-verified-shopping_admin
Container webarena-verified-shopping_admin

Quick Start

# Using CLI (recommended)
webarena-verified env start --site shopping_admin

# Using Docker directly
docker run -d --name webarena-verified-shopping_admin -p 7780:80 -p 7781:8877 am1n3e/webarena-verified-shopping_admin

Access at: http://localhost:7780/admin

Auto-Login

The optimized image supports HTTP header-based authentication, bypassing UI login.

Header: X-M2-Admin-Auto-Login: username:password

from playwright.async_api import async_playwright

async with async_playwright() as p:
    browser = await p.chromium.launch()
    context = await browser.new_context(
        extra_http_headers={"X-M2-Admin-Auto-Login": "admin:admin1234"}
    )
    page = await context.new_page()
    await page.goto("http://localhost:7780/admin")
    # You're now logged in as admin

Testing Auto-Login

# Should redirect to dashboard and set cookies
curl -I -H "X-M2-Admin-Auto-Login: admin:admin1234" \
  http://localhost:7780/admin

# Without header - should redirect to login page
curl -I http://localhost:7780/admin

Verify Module is Enabled

docker exec webarena-verified-shopping_admin \
  /var/www/magento2/bin/magento module:status WebArena_AutoLogin

Optimizations

Header Authentication

Problem: UI login via Playwright is slow and requires maintaining test credentials.

Fix: Magento plugin intercepts admin requests and authenticates via X-M2-Admin-Auto-Login: username:password header.

Files: AutoLoginPlugin.php, di.xml, module.xml, registration.php

Mass Action Protection

Problem: Bulk delete actions in admin panel can accidentally destroy test data.

Fix: Plugins disable mass delete actions for products and reviews.

Files: DisableProductMassActionsPlugin.php, DisableReviewMassActionsPlugin.php