Ho visto altre domande su SO su questo (here, here e here), ma non sono soddisfatto di nessuna delle soluzioni, quindi lo chiedo nuovamente. Sto avviando un'applicazione web che utilizzerà OAuth da più provider (Google, Facebook, Twitter, Yahoo) per l'autenticazione. Sto facendo fatica a trovare una configurazione adatta per l'uso sia per un ambiente di sviluppo locale che per un ambiente di produzione.Utilizzo di OAuth per entrambi gli ambienti di sviluppo e produzione
Le soluzioni principali che ho trovato sono da registrare più applicazioni all'interno di ogni fornitore, che riceve una chiave diversa consumatori e segreto per ciascuna:
"My App Production" - con un callback URI per http://www.myapp.com/callback
"My App per lo sviluppo" - con un callback URI per http://local.myapp.com/callback
Aggiungi una voce per i padroni di casa file locale per puntare local.myapp.com
-127.0.0.1
e s ome configurazione per l'applicazione per utilizzare le chiavi del consumatore corretto in base all'ambiente, e sei a posto, giusto?
Ma la mia applicazione è responsive e ho bisogno di testare il mio ambiente di sviluppo in esecuzione sul mio PC da più altri dispositivi, come il mio iPhone e iPad, nessuno dei quali sarà in grado di risolvere l'URI di callback dello sviluppo.
Diciamo che ho già un server DNS sulla mia rete e sono in grado di aggiungere la voce per local.myapp.com
invece del mio file di host locale e ora posso accedere alla mia istanza di sviluppo da qualsiasi dispositivo sulla rete.
Ma il mio team di sviluppo funziona tutti sulla stessa rete locale. Ora lo local.myapp.com
punta allo stesso IP per tutti. Torniamo all'impostazione del file hosts sul computer di ogni sviluppatore in modo che tutti possano lavorare indipendentemente dalla loro stazione di lavoro. Ora nessuno può testare di nuovo l'istanza di sviluppo dal proprio iPhone. Difficilmente sembra la risposta giusta per ogni sviluppatore per registrare un'applicazione con il provider solo in modo che possano specificare un URI di callback univoco.
Normalmente quando scendo tra le erbacce con una soluzione complicata per un problema apparentemente semplice, di solito significa che sto facendo qualcosa di fondamentalmente sbagliato. Mi manca qualcosa su OAuth, non è destinato ad essere usato in questo modo? Sono tentato di svuotare OAuth del tutto e basta andare con OpenID (non è richiesta la registrazione dell'app e posso specificare l'URI di callback dall'interno dell'app), ma poi perdo due dei grandi battitori su Facebook e Twitter. Non ho davvero bisogno di nessuno dei dati dell'utente, è solo un piacere avere se è disponibile. Qualcuno può parlarmi di OAuth?
È solo per testare giusto? Perché non ogni app Web è una directory virtuale? – codemonkeh
Non seguo veramente quello che stai ricevendo. Puoi elaborare? – schmimd04
Hai mai trovato una soluzione? Sto lottando con la stessa identica cosa; i fornitori di oauth non consentono i caratteri jolly nell'origine, quindi non posso avere "alice.dev.myapp.com" e "bob.dev.myapp.com" ma se tutti gli sviluppatori condividono 'dev.myapp.com' So come indirizzare tablet e telefoni allo sviluppatore corretto. Creare un punto di accesso oauth per sviluppatore sembra essere l'unico modo. – mczepiel