Come integrare il passaporto Laravel, oauth scopes e ruoli e permessi

1

Sto sviluppando SPA in API angolari e backend in laravel 5.3. Ho integrato Laravel Passport per oauth .

Devo realizzare ruoli e autorizzazioni all'implementazione usando viste su tabelle da altri database che sono gestite da altri sistemi. In questo utente di sistema ha 1 ruolo. E il ruolo ha auto riferimento quindi c'è una struttura gerarchica, ad esempio:

  • canSeeAnimals
  • canSeeMammals (figlio di canSeeAnimals)
  • canSeeWolf (figlio di canSeeMammals)

Quindi sto pensando di seguire il flusso di lavoro, ma non sono sicuro di come implementarlo:

  1. Un altro sistema gestisce utenti, ruoli e permessi
  2. Il server API (sotto il mio controllo) ha accesso ad altre tabelle di sistema tramite viste:
    • utente
    • ruolo
    • v_role_level (in questa tabella viene definita la relazione padre-figlio tra i ruoli)
  3. Risorsa richiesta angolare dell'app client dal server API Il server API carica i dati degli utenti con ruoli e permessi e genera token con scope associato a ruoli e permessi.

Il punto 4 è sotto la domanda. Come posso intercettare / sovrascrivere la generazione di token per generare token con scope che dipende da ruoli e permessi dell'utente?

    
posta gandra404 24.01.2017 - 20:12
fonte

1 risposta

0

Questa risposta sembra essere d'aiuto. link

Quando si autentica l'utente, controllare il database per i ruoli e le autorizzazioni. Quindi aggiungi gli ambiti alla richiesta come fanno.

$request->request->add([
    'scope' => 'read-only-order' // read-only order scope for other user role
]);
    
risposta data 20.07.2017 - 21:29
fonte

Leggi altre domande sui tag