Vai al contenuto

Autenticare un'app esterna

Featured Replies

Inviato

Ciao a tutti, ho appena aggiornato alla versione 4.4.10, ho un quesito: volendo far autenticare un sito web esterno con le stesse credenziali che gli utenti usano sul forum c'è qualche suggerimento? Qualche plugin? O semplicemente qualche idea? :)

Grazie

Inviato
  • Admin
4 ore fa, Stefano Costantini ha scritto:

Ciao a tutti, ho appena aggiornato alla versione 4.4.10, ho un quesito: volendo far autenticare un sito web esterno con le stesse credenziali che gli utenti usano sul forum c'è qualche suggerimento? Qualche plugin? O semplicemente qualche idea? :)

Ciao Stefano, il sito come è fatto? WordPress, Laravel etc...? Abbiamo bisogno di conoscere cosa e come hai strutturato il tuo sito per darti una mano...

Inviato
  • Autore

La web app che dobbiamo autenticare è scritta da uno sviluppatore amico quindi direi che può farla come gli chiediamo. 

Inviato

potresti utilizzare i file che trovi qui => https://github.com/sijad/IPS4RemoteLogin

remote.php va inserito nella home dove si trova il file init.php

example.php è il file che richiede i dati e li elabori a piacimento nel tuo sito web.

Inviato
  • Autore

Grande, ci guardo subito :)

Inviato
  • Admin
20 minuti fa, BomAle ha scritto:

potresti utilizzare i file che trovi qui => https://github.com/sijad/IPS4RemoteLogin

Questo script non utilizza ancora ips_connect? Perché se così fosse è obsoleto...

 

28 minuti fa, Stefano Costantini ha scritto:

La web app che dobbiamo autenticare è scritta da uno sviluppatore amico quindi direi che può farla come gli chiediamo. 

Puoi utilizzare l'autenticazione tramite OAuth 2.0.

Inviato

non sono sicuro compareHashes sia ancora utilizzabile ma in alternativa può utilizzare il metodo standard di autentificazione https://invisioncommunity.com/forums/topic/445586-external-login-issue-with-43/?do=findComment&comment=2742731

Cita

With 4.3 onwards, we're now using the native PHP methods for password handling, you could use password_verify() to validate the hash, however, I would recommend using the built in methods.

If you explicitly want to check the internal authentication only, you could do something like this...


	require '/path/to/invision/community/init.php'; // Including init.php sets up framework
	
	$member = \IPS\Member::load( $_POST['username'], 'name' ); // Second parameter can be 'name', 'email' or not specified for member ID
	
	if ( $member->member_id )
	{
		if ( \IPS\Login\Handler::findMethod( 'IPS\Login\Handler\Standard' )->authenticatePasswordForMember( $member, \IPS\Request::i()->password ) )
		{				
			$device = \IPS\Member\Device::loadOrCreate( $member );
			$device->updateAfterAuthentication( TRUE ); // TRUE is "Remember Me"
			
			// Logged In!
		}
		else
		{
			// Password incorrect
		}
	}
	else
	{
		// Username doesn't exist
	}

 

Modificato da BomAle

Per favore accedi per lasciare un commento

Potrai lasciare un commento dopo aver effettuato l'accesso

Accedi Ora

Chi sta navigando 0

  • Nessun utente registrato visualizza questa pagina.

Informazioni importanti

Abbiamo inserito dei cookies nel tuo dispositivo per aiutarti a migliorare la tua esperienza su questo sito. Puoi modificare le impostazioni dei cookie, altrimenti puoi accettarli cliccando su continua. to insert a cookie message.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.