2015-08-19 29 views
13

Utilizzo Spring Security OAuth2 e attualmente implementato i tipi client_credentials e password grant. Ho notato che un cliente ha sia portata che autorità. Qualcuno può spiegare qual è la differenza? Per essere più specifico, sto usando il JDBCTokenStore e lo schema del database ha una tabella oauth_client_details.Spring oauth2 scope vs authority (ruoli)

Inoltre,

Nella tabella oauth_client_details, io non sono sicuro di quello che i seguenti campi sono utilizzati per :

web_server_redirect_url, access_token_validity, refresh_token_validity

Alcuni chiarimento sarebbe molto utile e apprezzato .

+0

Ho la stessa domanda. [Presentazione di Found Springs su slideshare] (http://www.slideshare.net/SpringCentral/syer-oauth-model), in cui si diceva che distinguono ambiti e autorità: i token utente utilizzano ambiti, token client - autorità. Ma non riesco a trovare alcuna ragione per farlo. Hai finalmente trovato una risposta? – pls

+0

Quello che ho trovato è che non è definito - dipende solo da te, da chi sta implementando il server OAuth2. Il post qui sotto ha un buon esempio di quale ambito potrebbe essere utilizzato. – m1s4mike

+3

Possibile duplicato di [Differenza tra ambito e autorizzazione in UAA] (https://stackoverflow.com/questions/35691051/difference-between-scope-and-authority-in-uaa) – EagleRainbow

risposta

9

ho notato un cliente ha sia la portata e le autorità

client ha solo portata, ma possiamo prendere in considerazione/usarlo come autorità (ruoli). Questo perché le specifiche OAuth non spiegano l'utilizzo specifico dell'ambito.

Considerate questo, un utente autorizza twitter a pubblicare tweet dell'utente su facebook. In questo caso, Twitter avrà scope write_facebook_status. Sebbene l'utente abbia l'autorità per modificare il profilo dell'utente, ciò non significa che Twitter possa modificare il profilo dell'utente. In altre parole, lo scopo sono le autorità/i ruoli del cliente, non le sue autorità/i suoi ruoli.

web_server_redirect_url

questo sarà utilizzato da server di autorizzazione a reindirizzare la richiesta per l'URL originale o di richiamata (autorizzazione grant) dopo l'autorizzazione di successo.

access_token_validity

questo è il tempo di scadenza token_access in secondi. Impostare su -1 o 0 per infinito. Se lo imposti a 60, dopo 1 minuto il tuo token_access non sarà valido. Devi richiedere un nuovo token eseguendo il processo di autorizzazione o utilizzare refresh_token.

refresh_token_validity

questo è refresh_token tempo di scadenza.

+0

"perché le specifiche OAuth non spiegano specifiche utilizzo dell'ambito. ". Per favore, spiega perché la pensi così. Forse alcuni link che lo spiegano ulteriormente? –

+0

@ AlikElzin-kilaka lo puoi trovare qui https://tools.ietf.org/html/rfc6749#section-3.3 – MangEngkus

Problemi correlati