assertValidMode($mode); $this->mode = $mode; } /** * @throws InvalidArgumentException */ private function assertValidMode(string $mode): void { $validModes = [ self::MODE_AUTO, self::MODE_NONE, self::MODE_CONFIGURED, self::MODE_EXPLICIT, ]; if ( ! in_array($mode, $validModes, true)) { throw new InvalidArgumentException('Unsupported auth mode [' . $mode . '].'); } } public function requiresToken(): bool { return $this->mode === self::MODE_CONFIGURED || $this->mode === self::MODE_EXPLICIT; } public function equals(self $authContext): bool { return $this->mode === $authContext->mode(); } public function mode(): string { return $this->mode; } }