it-swarm-eu.dev

Accedi al sito Web Joomla dall'app mobile

Contesto
Ho il sito Web Joomla e l'app mobile in esecuzione su server diversi (programmati utilizzando JavaScript). Entrambi appartengono alla stessa parte e gli utenti hanno account simili su entrambi con ID e password identici (sebbene questi ID e password siano memorizzati in DB diversi, ci assicuriamo che siano sincronizzati e identici).

Comportamento attuale
Gli utenti accedono all'App (la sessione viene creata sul server dell'App) e accedono al pulsante (sito Web). Toccando il pulsante, si apre la visualizzazione di una nuova finestra (pagina di accesso del sito Web). Devono inserire nuovamente le proprie credenziali e quindi accedere ai propri account.

Obiettivo
Consentire agli utenti di accedere al sito Web senza accedere nuovamente alla pagina di accesso (vengono verificati quando accedono all'App, quindi non è necessario verificarli di nuovo).

Tentativi

  • Ho cercato un plug-in adeguato che collega Joomla alla piattaforma App (Appery) ma non sono riuscito a trovarlo. Molti plug-in Joomla consentono l'accesso singolo tramite Facebook, Google ... ecc. Ma non sono riuscito a trovare nessuno con Word con l'app mobile esistente su server diversi con DB separato

  • Sessione e cookie sono esclusi come entrambi su server diversi.

  • Ho anche fatto riferimento a questo Accesso utente senza ottenere password da loro , ma non sono riuscito a capire di quale plugin parla l'OP.

  • Ho configurato e abilitato LDAP ma non riesco ancora a far funzionare SSO.

  • Poiché i database separati condividono le stesse credenziali dell'utente, ho pensato che sarebbe stato meglio creare un plug-in di autenticazione per il mio sito Web che esegue l'autenticazione con il database delle applicazioni mobili mobili. In questo modo, quando un utente accede all'applicazione mobile ha già una sessione trasportabile. Tuttavia, non ho mai creato alcun plug-in prima di tutto, per non parlare di un plug-in di accesso ... (da dove iniziare?)

  • Ho anche fatto ricorso a questa idea ( https://stackoverflow.com/questions/29115209/amend-form-content-on-ajax-request ) ma dalle risposte che ho ricevuto, mi è sembrato irrazionale .

Ho cercato su Internet per un bel po 'e ho pubblicato diverse domande cercando di esplorare la mia strada. Apprezzerei molto il tuo aiuto e supporto.

Se questa non è la sede giusta per porre una domanda del genere, fare riferimento a quella adatta.

1
Hawk

Devi implementare un token di lunga durata , un segreto condiviso tra Joomla e il server dell'app mobile. Questo token di accesso consente di accedere a entrambi i server ed è inviato in ogni chiamata API.

Seguendo OAuth, una volta che l'utente è autenticato e il token di lunga durata viene rilasciato all'applicazione mobile. L'applicazione può accedere al server finché il token è attivo. Se scade, l'utente deve autorizzare nuovamente.

Nel tuo caso, devi implementare in Joomla un modo (plug-in) per autenticare l'utente con il token ed eseguire le operazioni richieste. I token sono condivisi tra entrambi i server in una tabella/servizio.

Infine, se sei interessato a collaborare con Joomla Mobile Apps, abbiamo appena avviato un gruppo di lavoro: Mobile Apps Team

Dichiarazione di non responsabilità: sono lo sviluppatore principale di Composer App per Joocial. In questo capitolo della documentazione , puoi controllare come un OAuth funziona il plugin di autenticazione.

1
Anibal

Devi creare un plug-in di sistema che funga da api. Joomla ha la funzione di accedere a livello di codice. Puoi controllare l'utente del plugin esistente.

Ovviamente devi proteggere l'API con chiave segreta condivisa tra i server.

Probabilmente devi archiviare sul cellulare la sessione e aggiungerla ad ogni richiesta.

L'ho fatto per integrare i whmcs con joomla. In realtà non ricordo perché l'ho fatto molto tempo fa.

0
Stergios Zg.