Accedi all'applicazione in base al profilo creato su un'altra applicazione

0

Ho un problema "difficile" che non sono sicuro di come dovrei affrontarlo. Fondamentalmente ho un'app mobile, che ha un lato server (in Go) e la base appropriata (PSSQL). L'utente può registrarsi tramite le procedure standard, via email, google, twitter, ecc. E creare un profilo, dopodiché "usa" l'app (questa è l'app B).

Ora ho un'applicazione web totalmente diversa, che è scritta in php e possiede un database (MySQl) (chiamiamola questa App A).

Il mio compito è di consentire all'utente che ha già un profilo sull'App A, di usare quel profilo per accedere alla mia applicazione mobile (App B). Il modo giusto per farlo è con Oauth, tuttavia, non ho mai lavorato su qualcosa di simile prima e non sembra essere banale. Un altro problema è che l'app A è in esecuzione su una vecchia versione di PHP e non ho mai lavorato con essa. Il sito non è molto più mantenuto, non ho esperienza con php e sto lavorando da solo con questo, quindi non posso consultare nessuno per aiutarmi.

Quindi sto lavorando su alternative, per rendere questo un po 'più semplice ma non riesco a trovare una buona "alternativa". Stavo pensando a qualcosa in linea, se l'utente vuole accedere con il suo profilo sul sito A, che prima dovrei portarlo dall'app mobile al mio back-end (entrambi sono App B), da lì dovrei controllare se le informazioni fornite sono valido su App A, e se è vero, dovrei creare un nuovo account sulla mia app B per lui. Per il login successivo, farei quindi lo stesso principio per verificare se ha già un account qui. Ma in qualche modo questo sembra essere troppo semplice e non il modo giusto di fare le cose. Devo anche menzionare che oltre all'accesso, le cose che possono fare su entrambe le app sono totalmente diverse, non condividono alcun dato tra le applicazioni.

Mi dispiace se questo è il sito sbagliato da chiedere, ma mi sono bloccato su questo e vorrei avere alcune opinioni. Ecco una foto che cerca di spiegare "l'architettura", ma io sono un artista terribile. Grazie per il tuo aiuto.

    
posta Tokikko 27.03.2018 - 18:41
fonte

1 risposta

0

Creare il server OAuth nell'applicazione A sarebbe la soluzione più flessibile. Tuttavia, non è banale quando non hai esperienza in OAuth e alcune strutture coprono casi comuni per te. Se non hai intenzione di estendere la capacità di accedere / utilizzare le informazioni dall'app A puoi provare a creare più soluzioni dedicate. Ovviamente l'accoppiamento tra i componenti aumenterà. Quindi, se non vuoi toccare il codice PHP, puoi provare a costruire alcune API su MySQL per esporre i metodi:

  1. verifica le credenziali
  2. recupera le informazioni del profilo (con credenziali o token)

Ovviamente supponendo che non sia necessaria una logica di business aggiuntiva in php da includere. Se lo hai, dovresti creare un'interfaccia per quella logica e creare un modulo che potrebbe esporre i tuoi dati. Puoi leggere il modello anti corruzione .

Tutti questi hanno alcuni compromessi, è necessario analizzare i pro e i contro per il caso specifico.

    
risposta data 28.03.2018 - 12:33
fonte

Leggi altre domande sui tag