Hur man lägger till Twitter OAuth-inloggning på webbplatsen med PHP
Borta är de dagar då en användare behöver fylla i registreringsformuläret, få ett e-postmeddelande med en aktiveringslänk och sedan aktivera sitt konto. Populära sociala webbplatser som Google, LinkedIn, Twitter tillhandahåller sina API: er genom vilka användare kan logga in på din webbplats. Detta sparar tid för både användare och utvecklare och ger en bättre användarupplevelse. I den här artikeln studerar vi att lägga till Twitter OAuth-inloggning på en webbplats med PHP.
Du kanske också vill läsa våra artiklar:
- Hur man lägger till Google OAuth-inloggning på webbplatsen med PHP
- Hur man lägger till inloggning med LinkedIn på webbplatsen med PHP
Skaffa Twitter-referenser
När du vill integrera sociala inloggnings-API: er måste du få dina API-referenser. På Twitter måste du först skapa din applikation och sedan får du dina nycklar.
- Gå till Twitter-utvecklarkontot och skapa en ny applikation.
- Fyll i de obligatoriska fälten som applikationsnamn och beskrivning.
- Sätt din webbplatsdomän i fältet Webbplats.
- Ange URL för återuppringning som
YOUR_DOMAIN_URL/index.php
. - När du har registrerat dig, kopiera ansökningsuppgifterna (konsumentnyckel och hemlighet) som krävs i nästa steg.
När vi ställer in webbadressen för återuppringning till index.php
filen hanterar vi omdirigeringskoden i den här filen. Du kan ställa in den olika webbadressen enligt dina krav.
Konfigurera HybridAuth Library
För att integrera social inloggning rekommenderar jag alltid att använda HybridAuth som är ett open-source socialt inloggnings PHP-bibliotek. Med hjälp av detta bibliotek kan man enkelt lägga till social inloggning i deras applikation. Du behöver inte skrapa huvudet mot API-dokumentationen. Ta bara dina uppgifter och HybridAuth gör resten för dig.
Skapa en composer.json
fil och lägg till koden nedan i den.
{
"require": {
"hybridauth/hybridauth": "~3.0"
}
}
Kör sedan kommandot nedan som installerar HybridAuth-biblioteket i din applikation.
composer install
Skapa en config.php
fil och skriv koden nedan i den. Vi lägger också till Twitter-referenser i konfigurationsfilen.
<?php
require_once 'vendor/autoload.php';
$config = [
'callback' => 'YOUR_DOMAIN_URL/index.php',
'keys' => ['key' => 'TWITTER_CONSUMER_API_KEY', 'secret' => 'TWITTER_CONSUMER_API_SECRET_KEY'],
'authorize' => true
];
$adapter = new HybridauthProviderTwitter( $config );
Twitter OAuth-inloggning på webbplatsen
Vi är klara med alla grundläggande konfigurationer. Nu kan vi fortsätta och lägga till inloggning med Twitter-funktionalitet på webbplatsen. Skapa en fil som heter index.php
och lägg till koden nedan.
<?php
require_once 'config.php';
try {
$adapter->authenticate();
$userProfile = $adapter->getUserProfile();
print_r($userProfile);
echo '<a href="logout.php">Logout</a>';
}
catch( Exception $e ){
echo $e->getMessage() ;
}
Kör URL: en YOUR_DOMAIN_URL/index.php
i webbläsaren, koden i filen kontrollerar först om användaren är autentiserad med "Twitter" eller inte. Om inte, omdirigeras den till inloggningssidan på Twitter. Användaren måste slutföra sin autentisering. Efter autentisering kommer användaren tillbaka till index.php
. Efter detta kan vi få användarens information genom att använda metoden getUserProfile()
.
Slutligen logout.php
bör vi koppla bort adaptern (Twitter) som automatiskt loggar ut användaren från applikationen.
<?php
require_once 'config.php';
try {
if ($adapter->isConnected()) {
$adapter->disconnect();
echo 'Logged out the user';
echo '<p><a href="index.php">Login</a></p>';
}
}
catch( Exception $e ){
echo $e->getMessage() ;
}
Det är allt! Jag hoppas att du fick veta om att lägga till en Twitter OAuth-inloggning på webbplatsen med PHP. Dela dina tankar eller förslag i kommentarsektionen nedan.