[ 'name' => $enum->toLabel(), 'value' => mb_strtolower($enum->name), 'hint' => $enum->toHint(), ], self::cases()); } public function toLabel(): string { return match ($this) { self::OIDC => 'OIDC - OpenID Connect', self::SAML => 'SAML 2.0', self::URL => 'Redirect URL', }; } public function toHint(): string { return match ($this) { self::OIDC => 'Modern authentication protocol built on OAuth 2.0 for secure user sign-in across web, mobile, and API-based applications.', self::SAML => 'XML-based Single Sign-On (SSO) protocol commonly used by enterprise applications and identity providers', self::URL => 'Simple URL that will redirect the user to the authentication page.', }; } }