Autenticazione Oauth

Area dedicata al phpBB 3.3.X
Rispondi
Avatar utente
Aliberto
Nuovo Utente
Nuovo Utente
Messaggi: 26
Iscritto il: 23/09/2018, 9:30
Link del Forum: https://www.whisperplayermanager.com/forum/
Località: Italia
Contatta:

Autenticazione Oauth

Messaggio da Aliberto »

Buongiorno a tutti, vorrei provare ad integrare sul forum l'accesso tramite i social.
Sapete se una volta scelta l'opzione in oggetto rimane comunque attiva l'opzione Db o quest'ultima viene disattivata? Ed in questo caso, cosa avviene per gli utenti già registrati col metodo Db?
L'ideale sarebbe averle entrambe attive. Siccome il sito/board è attivo in questo momento mi vien male fare delle prove ed in locale non son certo che l'app di facebook possa essere testata.

Grazie in anticipo per le risposte
Avatar utente
Aliberto
Nuovo Utente
Nuovo Utente
Messaggi: 26
Iscritto il: 23/09/2018, 9:30
Link del Forum: https://www.whisperplayermanager.com/forum/
Località: Italia
Contatta:

Re: Autenticazione Oauth

Messaggio da Aliberto »

Allora, ho degli aggiornamenti
- il metodo classico di registrazione/autenticazione rimane attivo anche se si usa l'estensione oauth
- sono riuscito a configurare l'app di facebook dopo un pomeriggio di tentativi, il problema principale è stato elencare gli "URI di reindirizzamento OAuth validi", ne trovate un elenco qui https://www.phpbb.com/community/viewtopic.php?t=2416436

a questo punto tentando di fare la registrazione tramite facebook, vengo reindirizzato nella pagina di fb, confermo il mio nome utente su fb, vengo reindirizzato senza errori sul forum ma la schermata che mi appare è la seguente
Immagine
Quindi ne deduco che questo sistema serva esclusivamente per loggare un utente tramite fb ma quell'utente si deve già essere registrato precedentemente sul forum.
Ma a questo punto non ne vedo l'utilità, il mio scopo è quello di fare registrare gli utenti tramite facebook, qualche suggerimento?

Grazie in anticipo per le risposte
Avatar utente
alex75
Amministratore
Amministratore
Messaggi: 6268
Iscritto il: 23/08/2012, 23:45
Link del Forum: www.phpbb-italia.it
Località: Palermo

Re: Autenticazione Oauth

Messaggio da alex75 »

Potrebbe esserti utile questa
https://docs.oneall.com/plugins/guide/s ... phpbb/3.1/
Ma non ho potuto testarla
Regolamento Forum
Le nostre guide
Se l'assistenza prestata è stata di tuo gradimento potrai contribuire aiutandoci a sostenere le spese affrontate per tenere in vita questo forum >Cliccando sul seguente Link<
Avatar utente
Aliberto
Nuovo Utente
Nuovo Utente
Messaggi: 26
Iscritto il: 23/09/2018, 9:30
Link del Forum: https://www.whisperplayermanager.com/forum/
Località: Italia
Contatta:

Re: Autenticazione Oauth

Messaggio da Aliberto »

eh, l'ho già vista, ma sembra ci siano problemi con l'ultima versione di phpbb, comunque proverò ad installarla, il problema di tutta questa faccenda è che non si può provare in locale :-(
Avatar utente
Barrnet
Globalmod
Globalmod
Messaggi: 547
Iscritto il: 13/05/2012, 19:10
Link del Forum: https://videogamezone.eu/forum
Località: Bergamo
Contatta:

Re: Autenticazione Oauth

Messaggio da Barrnet »

Rimangono attivi, in pratica è un metodo alternativo per loggare in un account di phpBB. Di fatto puoi associare il login tramite Facebook o altri provider anche dall'UCP.
Avatar utente
TaTay
Nuovo Utente
Nuovo Utente
Messaggi: 35
Iscritto il: 23/01/2020, 15:27
Link del Forum: www.laurel-e-hardy.it/forum/
Contatta:

Re: Autenticazione Oauth

Messaggio da TaTay »

sarei interessato anch'io a far funzionare la registrazione tramite social. Fate sapere se avete novità. Grazie
Avatar utente
Aliberto
Nuovo Utente
Nuovo Utente
Messaggi: 26
Iscritto il: 23/09/2018, 9:30
Link del Forum: https://www.whisperplayermanager.com/forum/
Località: Italia
Contatta:

Re: Autenticazione Oauth

Messaggio da Aliberto »

Allora, ho deciso di provare a trovare una soluzione :-)
Prima di tutto devo rendervi partecipi di come uso phpbb oltre che come forum. Di fatto è il codice che regola l'accesso degli utenti a tutte le funzionalità del sito. Quando un utente si registra sul forum e logga io lo considero loggato e registrato in ogni pagina del sito.
Inoltre popolo un secondo database prendendo da phpbb il nickname che mi serve per numerose altre operazioni.In ogni pagine del sito includo la seguente parte di codice
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : 'forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();

Essendo il sito un gioco online è evidente come io voglia dare la possibilità agli utenti di registrarsi anche tramite social. Il problema principale è che la registrazione standard mi permette di popolare altre tabelle, in realtà davvero l'unica cosa che mi mette in difficoltà è il nick name che nel sito deve essere univoco, non posso avere due utenti registrati e giocanti con lo stesso nick perchè sul nick sono basati ad esempio gli achievements, la messaggistica interna etc. Ho integrato nel sito i messaggi privati per cui gli utenti per scambiarsi info sul gioco usano di fatto phpbb, in game cliccano sul nickname di un altro giocatore quando devono scrivergli ed io gli precompilo il messaggio privato reindirizzandoli su phpbb. Come potrei gestire una cosa del genere con utente loggato/registrato da social?
Ieri ho pensato di gestire io il reindirizzamento da facebook (senza cioè passare da phpbb), creare cioè una pagina intermedia tramite cui popolare il database di phpbb come se l'utente avesse fatto la consueta registrazione e poi loggarlo automaticamente. Questo potrebbe essere possibile?
Per il nickname come posso risolvere?

Grazie in anticipo per le risposte
Avatar utente
Aliberto
Nuovo Utente
Nuovo Utente
Messaggi: 26
Iscritto il: 23/09/2018, 9:30
Link del Forum: https://www.whisperplayermanager.com/forum/
Località: Italia
Contatta:

Re: Autenticazione Oauth

Messaggio da Aliberto »

Eccomi, ci sono riuscito ... :boss:
Ho usato le librerie di fb scaricabili qui: Lib FB

Ho preso spunto da questi script: FB Login

La soluzione è appunto creare una tabella utenti parallela a quella di phpbb da dove prendere nome utente e passord per loggare l'utente in questione. Questa tabella viene popolata dai dati proveniente da facebook più il nickname, che viene creato dinamicamente in base al nome che si ha su fb e diverso da ogni nick presente sul foro, ed una password generata casualmente.
Quando arriva la chiamata da fb dopo aver cliccato sul tasto per loggarsi verifico tramite l'id univoco di fb se l'utente è presente nella tabella utenti di fb, se lo è prendo nome utente e password e lo loggo sul forum così:
$result = $auth->login($UserName, $Password);
Se invece non c'è popolo prima la tabella utenti fb e dopo creo l'utente sul foro così:
$user_row = array(
'username' => $UserName,
'user_password' => phpbb_hash($Password),
'user_email' => $email_address,
'group_id' => (int) $group_id,
'user_timezone' => $timezone,
'user_lang' => $language,
'user_type' => $user_type,
'user_ip' => $user_ip,
'user_regdate' => $registration_time,
);
$user_id = user_add($user_row);
e dopo lo loggo automaticamente.

Ovviamente ora l'ho fatta molto semplice :-) nel mezzo ad esempio c'è un form che chiede all'utente di confermare il nick generato automaticamente, ed in più ho avuto difficoltà perchè tutte le librerie di fb usano variaibli di sessione, metodi GET e variabili d'ambiente a go go :lol: Quindi per far coesistere e miscelare gli script di phpbb con il resto ho dovuto smanettare un po.
Se qualcuno ha bisogno di ulteriori info, chieda :-)
Rispondi