Come eseguire l'autenticazione dell'implementazione SaaS per il caricamento, l'elaborazione e il recupero di documenti

0

Vogliamo fornire un SaaS B2B con il seguente flusso:

  1. Gli utenti finali dei nostri clienti caricano i loro documenti usando la nostra abitudine carica l'interfaccia utente che dovrebbe essere incorporata utilizzando un iframe
  2. Una volta che l'utente ha completato il carica elaboriamo quel documento sul nostro server
  3. I nostri clienti il server ha accesso ai risultati elaborati

Richiediamo solo SSO avviato da IDP perché i nostri clienti non tenteranno mai di accedere direttamente al nostro servizio; saranno sempre diretti dal sito del cliente.

Sto cercando di capire quale sarebbe il modo migliore per implementare l'autenticazione. A me sembra che ci siano due parti che devono essere autenticate. 1) UI caricamento personalizzato 2) Cliente che recupera i risultati elaborati per una particolare transazione. In linea di principio sembra che il numero 1 richieda un semplice token API e il # 2 richiede SSO. Ma ciò richiede la gestione di due meccanismi di autenticazione separati, il che significa più manutenzione e più difficili integrazioni con i clienti. C'è un modo più semplice per gestirlo utilizzando un singolo sistema di autenticazione?

Ad esempio, se usassimo solo SAML, potremmo fare uno scambio di metadati e sia l'interfaccia utente di upload sia il recupero dei risultati verrebbero effettuati chiamando l'IDP e ricevendo il reindirizzamento sull'URL corretto sul nostro server. Sembra che ci debba essere un "TransactionID" condiviso che deve essere conosciuto da entrambi questi processi; vale a dire al momento del caricamento per allegare i risultati e al momento del recupero. Ma quando si inizializza l'interfaccia utente per lo strumento di caricamento personalizzato non esiste alcun metodo per passare in modo sicuro il "TransactionID" dal server del cliente al nostro server utilizzando SAML eccetto gli attributi SAML, ma gli attributi SAML non vengono in genere utilizzati per fornire valori dinamici come TransactionIDs. Questo non sembra qualcosa che dovrebbe essere inserito in un attributo SAML. Devo forse inviare il TransactionID dopo che l'autenticazione SAML è terminata? Ma come lo farei in modo sicuro?

Sarebbe meglio usare OAUTH2 o qualcos'altro?

    
posta user1505520 02.05.2018 - 17:51
fonte

0 risposte

Leggi altre domande sui tag