5

Sto costruendo una versione mobile di un'applicazione Web con Ionic 2 che utilizza SAML per SSO che viene eseguito sul server del mio cliente. In questo momento abbiamo un'API che viene chiamata quando non si effettua l'accesso al sito Web che reindirizza al proprio server per SSO, quindi ritorna al nostro server quando si accede. Quindi, il browser ha cookie per memorizzare che l'utente ha effettuato l'accessoOttieni cookie indietro da Cordova InAppBrowser in Ionic 2

Ho bisogno di prendere quel cookie e in qualche modo portarlo alla mia applicazione ionica. So che non è possibile condividere i cookie da InAppBrowser all'applicazione, ma ci deve essere un modo per recuperarli. Sufficienti applicazioni utilizzano Twitter, Facebook, ecc. Che presumo ci sia qualcosa di semplice che mi manca.

+0

Di fronte allo stesso problema. Hai avuto qualche soluzione per questo? –

risposta

2

Sì, questo è notoriamente difficile a causa dei criteri di dominio e inAppBrowser è una nuova istanza che non consente la precedente visualizzazione Web di accedervi.

Esiste comunque un modo per utilizzare il metodo executeScript() di InAppBrowser che consente di eseguire JavaScript nella finestra aperta.

var win = window.open("http://icenium.com", "_blank", "EnableViewPortScale=yes"); 
win.addEventListener("loadstop", function() { 
    win.executeScript({ code: "alert('hello');" }); 
}); 

Si può anche fornire una richiamata per recuperare i valori dalla finestra aperta

var win = window.open("http://icenium.com", "_blank", "EnableViewPortScale=yes"); 
win.addEventListener("loadstop", function() { 
    win.executeScript(
     { code: "document.body.innerHTML" }, 
     function(values) { 
      alert(values[ 0 ]); 
     } 
    ); 
}); 

allora si potrebbe utilizzare il valore restituito per salvarlo nella local storage

This site provides some great code to help you out.

+0

Questo funziona per cose non sicure come document.body.innerHTML. Tuttavia non recupera i cookie (codice: "document.cookie") non restituisce nulla – Mac

+0

Ho avuto lo stesso problema menzionato nella domanda, nel mio caso i cookie sono condivisi tra inappbrowser e applicazione, qualcuno ha avuto problemi con i cookie ? ? – wudpecker

+0

@Mac per esempio sull'inserimento di uno script che richiama l'id di sessione e alcuni come viene recuperato l'ID di sessione come indicato qui http://www.telerik.com/blogs/cross-window-communication-with-cordova's-inappbrowser – wudpecker

Problemi correlati