Why not oAuth for Authentication - AKA cosa c'è di male in OpenID Connect [duplicato]

2

Ho letto molte domande e risposte su questo forum affermando che oAuth è per l'autorizzazione, OpenID è per l'autenticazione e più di alcune di esse dicono che OpenID Connect fornisce l'autenticazione abusando dell'autorizzazione oAuth.

Perché il tono derogatorio? C'è un'implicazione molto strong che questo sia male, ma non ho trovato alcuna spiegazione per questo, e mentre capisco la differenza tra autenticazione e autorizzazione, non capisco dove qualcuno dovrebbe usare l'autorizzazione senza autenticazione, o più esattamente, senza imputabilità.

In realtà non è vero, se provo, posso pensare a situazioni in cui l'attribuibilità non è importante, ma non funzionerà per la mia situazione: sto lavorando a un servizio online che consentirà le registrazioni dagli utenti che utilizzano FB, Twitter , Google+ e probabilmente LinkedIn per l'autenticazione. Le applicazioni front-end (basate sul Web e mobile, potenzialmente controllate da terze parti) dovrebbero, a mio avviso, utilizzare oAuth per accedere ai servizi API / back-end per conto di un utente.

Ad esempio, se ottengo una richiesta da un'app mobile front-end o da un sito web per accedere ai messaggi di un utente, forse mi piace:

link

Avrei bisogno di sapere che l'utente che ha effettuato l'accesso all'applicazione o al sito Web non è solo autorizzato a leggere la risorsa dei messaggi, ma è di fatto l'utente che può leggere quella specifica casella postale.

Ma sto divagando, quindi: OpenID Connect è cattivo in qualche modo? Ho visto il diagramma di Wikipedia ... qualcuno può spiegare cosa c'è di sbagliato in quella foto?

In definitiva sto cercando di capire quali sono tutti i pezzi del puzzle per creare un'architettura in cui:

a) Gli utenti si registrano sul back-end e sono autenticati tramite     OpenID / Google / FB / ecc   b) Gli utenti accedono al servizio tramite un front-end indipendente, ad esempio a     app per dispositivi mobili o sito Web
  c) Utenti diversi hanno ruoli diversi (es. personale e clienti) e     non può accedere ai dati personali o sensibili degli altri   d) È un servizio multi-tenant, quindi lo staff della società A potrebbe     essere effettivamente clienti della società B e della società C!

FWIW: alcune cose che ho visto, che aiutano a confondere / chiarire le cose per me:

posta Johan 22.01.2015 - 09:22
fonte

1 risposta

1

Differenza Tra OAUTH, OpenID e OPENID Connect in termini molto semplici?

Bene, questo era nella barra laterale laterale.

È così:

Se sei autorizzato a svolgere attività A, devi essere il proprietario che può svolgere attività A. Pertanto devi essere proprietario. Autorizzazione = Autenticazione. Considerando che potresti essere autenticato ma non autorizzato.

    
risposta data 22.01.2015 - 09:57
fonte

Leggi altre domande sui tag