feat: add multiple allowed public keys for admin access

This commit introduces a change in the authorization mechanism for the admin sections of the association members and election pages. Instead of checking for a single allowed public key, the system now checks for an array of allowed public keys, enhancing the flexibility of the admin access control.
This commit is contained in:
fsociety
2024-10-01 20:55:07 +02:00
parent 3e271e932a
commit ccf4b7abeb
2 changed files with 10 additions and 2 deletions

View File

@@ -72,7 +72,11 @@ mount(function () {
on([
'nostrLoggedIn' => function ($pubkey) {
$this->currentPubkey = $pubkey;
if ($this->currentPubkey !== '0adf67475ccc5ca456fd3022e46f5d526eb0af6284bf85494c0dd7847f3e5033') {
$allowedPubkeys = [
'0adf67475ccc5ca456fd3022e46f5d526eb0af6284bf85494c0dd7847f3e5033',
'430169631f2f0682c60cebb4f902d68f0c71c498fd1711fd982f052cf1fd4279'
];
if (!in_array($this->currentPubkey, $allowedPubkeys, true)) {
return redirect()->route('association.profile');
}
$this->isAllowed = true;

View File

@@ -22,7 +22,11 @@ on([
$this->currentPubkey = $pubkey;
$this->currentPleb = \App\Models\EinundzwanzigPleb::query()
->where('pubkey', $pubkey)->first();
if($this->currentPleb->association_status->value < 3) {
$allowedPubkeys = [
'0adf67475ccc5ca456fd3022e46f5d526eb0af6284bf85494c0dd7847f3e5033',
'430169631f2f0682c60cebb4f902d68f0c71c498fd1711fd982f052cf1fd4279'
];
if (!in_array($this->currentPubkey, $allowedPubkeys, true)) {
return redirect()->route('association.profile');
}
$this->isAllowed = true;