2015-08-17 11 views
7

Quando ho aperto la mia web app sul mio dispositivo iOS, login e riavviare Safari, sto ancora collegatoDevise: iOS “Aggiungi a Home”

Ma quando aggiungo questa pagina con "Aggiungi a Home. ", ogni volta che clicco sull'icona per quella pagina, devo effettuare nuovamente il login.

C'è una soluzione per questo con la gemma Devise o non c'è davvero altro modo se non costruire un'applicazione nativa?

+0

Secondo [questa risposta] (http://stackoverflow.com/questions/21109615/ios7-safari-saving-to-home-screen-and-persist-token), non è realmente possibile più perché la schermata iniziale le app Web sono in modalità sandbox. – p4sh4

risposta

2

Una cosa che puoi provare è la seguente.

È possibile aggiungere qualcosa al vostro DOM, ad esempio nascosto div, con i dati devi effettuare il login utente in:

<div id="authentication-div" data-user-id="5" data-user-key="abbbbaafff12899a9a"> 

Poi si recupera che div da JavaScript e utilizzare i suoi dati per fare richiesta autenticato di il tuo back-end. Ovviamente questo funzionerà solo se il tuo utente ha salvato la tua app nella schermata Home dopo che è stato effettuato l'accesso (e dovresti ricaricare anche la pagina al momento dell'accesso).

+0

Non è un po 'insicuro? È quasi come stampare la password degli utenti nella pagina. – vigneshv

+0

Non esiste alcuna opzione in iOS per salvare letteralmente l'HTML della pagina e inviarlo a qualcuno. Quindi quella chiave potrebbe essere accessibile solo dall'interno della pagina stessa - sembra piuttosto sicura. – EugZol