<?php

declare(strict_types=1);

namespace App\Modules\Identity\Support;

class IdentityPolicy
{
    public function toArray(): array
    {
        return [
            'local_login_required' => true,
            'external_login_mode' => 'ADFS/OIDC',
            'supported_modes' => ['password', 'adfs_oidc'],
            'email_mapping' => 'E-Mail-Mapping als primaerer Abgleich zwischen externer Identitaet und internem Benutzer',
            'fallback' => 'Bei Dubletten oder unklaren Zuordnungen wird ein Admin-Klaerfall erzeugt.',
            'recovery' => 'Lokale Anmeldung bleibt immer verfuegbar, auch wenn externe Provider ausfallen.',
            'clarification' => 'Der Erstlogin soll bestehende Konten wiederverwenden und nicht stillschweigend neue Duplikate anlegen.',
            'admin_clarification' => [
                'title' => 'Admin-Klaerfall',
                'description' => 'Wenn eine Mail-Adresse nicht eindeutig zugeordnet werden kann, landet der Fall bei den verantwortlichen Admins.',
                'steps' => [
                    'Identitaet pruefen',
                    'Besten Tenant zuordnen',
                    'Vorhandenes Konto wiederverwenden oder anlegen',
                ],
            ],
        ];
    }
}
