Questo post è stato pubblicato originariamente sul blog di IWConnect.
Introduzione all'autenticazione in SnapLogic
L'autenticazione è il processo di verifica dell'identità di utenti, dispositivi o processi prima di consentire loro l'accesso a una specifica informazione o risorsa. Un approccio ampiamente utilizzato per proteggere i dati e le applicazioni è l'autenticazione a più fattori, che richiede all'utente di presentare più credenziali per la verifica dell'identità.
L'uso dell'autenticazione in due passaggi dipende dai client specifici e dalle loro preferenze. Dal punto di vista di SnapLogic, esistono vari modi per gestire l'autenticazione in due fasi. Nel nostro post, illustreremo alcuni dei modi migliori per mantenere l'autorizzazione in tempo reale e aggiornata automaticamente in caso di risposte non standard ai token OAuth2 all'interno di SnapLogic.
Quando ci si autentica con un'API REST, che accetta un token, ed è generata da un endpoint che richiede un diverso tipo di autenticazione (base, token, ecc.), si può facilmente impostare un account OAuth2 utilizzando le informazioni fornite. In alcuni casi, le informazioni recuperate dall'endpoint token non sono conformi agli standard OAuth2. Secondo le norme di OAuth2, il token di risposta dovrebbe essere chiamato "access_token", ma se viene chiamato, ad esempio, "token", la connessione viene annullata e non si riesce ad autenticarsi. In casi come questo, dovremmo eseguire entrambi i passaggi, generare il token e poi utilizzarlo.
Quindi, c'è un modo più veloce per risolvere questo problema invece di aspettare che il fornitore di API lo risolva in una delle prossime versioni?
La risposta è SI, e la parte migliore è che tutto avviene all'interno di SnapLogic in 3 semplici passi!
3 semplici passi per gestire i token OAuth2 non standard in SnapLogic
Passo 1
Creare un canale, una pipeline che generi il token dall'endpoint del token e trasformi la risposta non standard in una risposta al token standard OAuth2, rimappando i dati. È molto importante lasciare l'output come binario. Mappare il contenuto ed entrambi gli header: content type e status.
Passo 2
Esporre questa pipeline a un'API creando un task attivato. Assicurarsi di impostare l'autenticazione Basic invece di quella con token Bearer. Impostando la pipeline e il task in questo modo, si potrà configurare un account REST OAuth2 utilizzando le informazioni del task attivato.
Passo 3
Creare l'account e si è pronti a partire. Nel pannello di configurazione dell'account, il nome utente di SnapLogic sarà fornito come id del client, la password di SnapLogic come segreto del client e l'URL dell'attività attivata come endpoint del token. Le credenziali del client devono essere selezionate come tipo di sovvenzione.
Vediamo il diagramma del processo e spieghiamo brevemente come funziona.
Quando autorizziamo l'account, il pannello dell'account attiva la pipeline "proxy", che invia le informazioni richieste; a questo punto inizia il processo di autosostentamento. Quando il token sta per scadere, l'account attiva automaticamente la pipeline e il token viene aggiornato.
Diagramma del processo
Poiché la pipeline su cui stiamo lavorando, l'Account e la pipeline "proxy" sono tutti sullo stesso nodo, siamo autorizzati a usare gli URL Groundplex del task come endpoint del token. In questo modo, ci assicureremo che l'intero processo sia gestito direttamente all'interno di SnapLogic!
Per rendere il processo completamente dinamico, possiamo passare i parametri dell'endpoint del token, che punteranno alle informazioni necessarie per la generazione del token. In questo modo, la pipeline del canale può essere riutilizzata per un altro account con lo stesso scenario.
Questa soluzione ci aiuterà a superare i problemi di autenticazione OAuth2 non valida, che possono essere un fattore cruciale nello sviluppo dell'integrazione. In alcuni casi, questo significa che stiamo superando il problema della risposta negativa di OAuth2 e che stiamo continuando il processo di sviluppo, risparmiando molto tempo e problemi.
Volete vedere come funziona la soluzione? Non esitate a prenotare una demo.