Söndagshack: Nyhetr.se får Twitter Oauth inloggning

Jag har tänkt mig prova att integrera Nyhetr.se med Twitter. Tanken är att jag till en början ska använda mig av Twitters Oauth för att slippa bygga en egen inloggningsfunktion för att låta besökare kommentera på sajten, samtidigt som jag t.ex. skulle kunna skapa en retweet-funktion på kommentarer och nyhetslänkar. Oauth är ett protokoll för att ansluta mot APIn.

Jag började med att registrera en ny ”applikation” hos Twitter.




Det gav mig en ”consumer key” och en ”consumer secret”. Genom att anvädna mig av dessa i PHP-koden TwitterOauth så var det enkelt att sätta upp in- och utlogging. Det enda som behövde göras är att lägga in

require_once('./twitteroauth/twitteroauth/twitteroauth.php');
require_once('./twitteroauth/config.php');
 
/* Get user access tokens out of the session. */
$access_token = $_SESSION['access_token'];
 
/* Create a TwitterOauth object with consumer/user tokens. */
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']);
 
$reply = $connection->get('account/verify_credentials');
 
$jobj=json_decode($reply);
 
/* Användarnamnet finns nu eventuellt i $jobj->{'screen_name'} */

längst upp på de sidor som kommer att använda inloggningsfunktionen.

På framsidan av Nyhetr.se finns nu en Twitter-login-länk.




Självklart ”ser” min applikation inte ditt Twitter-lösenord, men väl ditt Twitter-namn. När du är inloggad så byts inloggnings-knappen ut mot namnet på den Twitter-användare som du loggat in som. Applikationen är just nu registrerad bara för läsning, dvs jag kan inte skicka ut data på din Twitter-feed. Läsningsmöjligheter räcker för denna typ av login-funktion som jag tänkt mig, men om jag ska skapa t.ex. en retweet-knapp så måste applikationen också få skrivrättigheter.

Just idag så går det inte att göra mer än att logga in (och logga ut) men förhoppningen är att detta gör att jag nu enkelt kan bygga ”användarfunktioner”.

  1. [...] fick förra året(!) en funktion för OAuth inloggning med hjälp av Twitters API. Nu kan den som är inloggad på Nyhetr markera nyheter som [...]