2014-09-04 10 views
6

Sto cercando di implementare:Come implementare un server OWIN autenticazione con un server di contenuti MVC Web Api e un APK Android utente finale

  1. Un MVC Web server API per restituire contenuti on-demand (REST Server)
  2. Un server di autenticazione centrale OAuth 2.0 (ad esempio OWIN) lato
  3. un Android utente finale applicazione

Lo scenario è simile a questo: applicazione Android richiede contenuti su REST Server, se il suo token è exp ired, il server REST effettua una richiesta sul server di autenticazione per identificare il client. Il server REST deve essere registrato utilizzando il proprio [id, segreto] sul server di autenticazione e quindi l'applicazione Android deve essere informata per identificare sul server di autenticazione centrale utilizzando l'utente finale [nomeutente, password] e l'applicazione Android [id, segreto].

Quindi il server REST deve essere registrato sul server di autenticazione utilizzando fisso [id, segreto]. L'applicazione Android deve essere registrata sul server di autenticazione utilizzando il numero fisso [id, segreto] e l'utente finale [nome utente, password].

Quindi il problema è che la maggior parte degli esempi sul Web utilizzano sessioni basate su cookie che non possono essere utilizzate tramite un server REST e un utente finale non del browser (almeno non è consigliabile). Non ho trovato un chiaro esempio per spiegare l'implementazione di questo scenario o anche una parte di questo, tutto ciò che ho trovato erano alcuni frammenti di codice per principianti. Grazie per il vostro aiuto.

risposta

6

vi consiglio messaggi su Token Based Authentication e Enable OAuth Refresh Tokens da Taiseer Joudeh, wich insegna passo dopo passo nel processo di creare un'autenticazione basata su token (mobile friendly, senza memorizzazione cookie) e refreshtoken per la gestione di scadenza del token.

Nota: non temere se il titolo del post parla di "AngularJS". Puoi saltare questa parte.

+0

Grazie @Freerider per il tuo aiuto rapido! Ho letto il tuo link e mi ha aiutato a scoprire come implementare il mio progetto OAuth-OWIN personalizzato, ma rimane ancora una domanda: l'utilizzo di OAuth senza SSL garantisce la sicurezza? (Penso che questo sia solo un altro meccanismo di autenticazione e non faccia nulla sulla crittografia) E se si ha familiarità con il progetto Java.Spring.Greenhouse è vero anche su di esso? –

+0

@HosseinBakhtiari Prego. SSL per OAuth2 è obbligatorio poiché il nome utente e la password vengono inviati nella prima richiesta di token, quindi è necessario utilizzarlo per crittografare nome utente e password nelle comunicazioni. SSL è solo un algoritmo di crittografia asimmetrico e simmetrico in cui entrambe le parti (browser e server web) si fidano di una terza parte e si affidano alla crittografia e alla decrittografia dei dati. Quindi SSL è totalmente correlato alla crittografia. Uno dei critici su OAuth2 che alla fine la sicurezza si basa su SSL e non sul proprio protocollo OAuth2. Mi dispiace, ma non sono a conoscenza del progetto Java.Spring.Greenhouse. –

Problemi correlati