Используя PHP SDK от Facebook, я смог быстро войти в систему Facebook на моем сайте. Они просто устанавливают переменную $user
которой можно получить доступ очень легко.
У меня не было такой удачи, пытаясь заставить работать в Twitter OAuth работать … откровенно говоря, их материал github запутан и бесполезен для кого-то, относительно нового для PHP и веб-дизайна, не говоря уже о том, что многие из неофициальных примеров, которые я имею пробовали работать, так же запутывают или устарели.
Мне действительно нужна помощь в работе с Twitter-входом – я имею в виду только базовый пример, когда я нажимаю кнопку входа в систему, я авторизую свое приложение и перенаправляю на страницу, где отображается имя зарегистрированного пользователя.
Я действительно ценю твою помощь.
EDIT Я знаю о существовании щебетать авраама, но он не дает никаких инструкций, чтобы заставить его работать.
Я просто попробовал twitteroauth от Авраама от github, и это, кажется, работает отлично для меня. Это то, что я сделал
Это оно. Если вы сейчас перейдете на сайт http://www.example.com/twitteroauth , вы получите «Signin with Twitter», который приведет вас в Twitter, авторизует запрос и вернет вас на страницу index.php.
EDIT: пример не будет работать, но не волнуйтесь. Следуйте приведенным выше инструкциям и загрузите их на сервер. Убедитесь, что вы переименовали файл из репозитория github, то есть config-sample.php-> config.php
если вы хотите увидеть рабочий образец, найдите его здесь
это один из основных примеров получения URL-адреса для авторизации, а затем получения пользовательской базовой информации, когда вы когда-либо возвращаетесь с Twitter
<?php session_start(); //add autoload note:do check your file paths in autoload.php require "ret/autoload.php"; use Abraham\TwitterOAuth\TwitterOAuth; //this code will run when returned from twiter after authentication if(isset($_SESSION['oauth_token'])){ $oauth_token=$_SESSION['oauth_token'];unset($_SESSION['oauth_token']); $consumer_key = 'your consumer key'; $consumer_secret = 'your secret key'; $connection = new TwitterOAuth($consumer_key, $consumer_secret); //necessary to get access token other wise u will not have permision to get user info $params=array("oauth_verifier" => $_GET['oauth_verifier'],"oauth_token"=>$_GET['oauth_token']); $access_token = $connection->oauth("oauth/access_token", $params); //now again create new instance using updated return oauth_token and oauth_token_secret because old one expired if u dont u this u will also get token expired error $connection = new TwitterOAuth($consumer_key, $consumer_secret, $access_token['oauth_token'],$access_token['oauth_token_secret']); $content = $connection->get("account/verify_credentials"); print_r($content); } else{ // main startup code $consumer_key = 'your consumer key'; $consumer_secret = 'your secret key'; //this code will return your valid url which u can use in iframe src to popup or can directly view the page as its happening in this example $connection = new TwitterOAuth($consumer_key, $consumer_secret); $temporary_credentials = $connection->oauth('oauth/request_token', array("oauth_callback" =>'http://dev.crm.alifca.com/twitter/index.php')); $_SESSION['oauth_token']=$temporary_credentials['oauth_token']; $_SESSION['oauth_token_secret']=$temporary_credentials['oauth_token_secret'];$url = $connection->url("oauth/authorize", array("oauth_token" => $temporary_credentials['oauth_token'])); // REDIRECTING TO THE URL header('Location: ' . $url); } ?>
с<?php session_start(); //add autoload note:do check your file paths in autoload.php require "ret/autoload.php"; use Abraham\TwitterOAuth\TwitterOAuth; //this code will run when returned from twiter after authentication if(isset($_SESSION['oauth_token'])){ $oauth_token=$_SESSION['oauth_token'];unset($_SESSION['oauth_token']); $consumer_key = 'your consumer key'; $consumer_secret = 'your secret key'; $connection = new TwitterOAuth($consumer_key, $consumer_secret); //necessary to get access token other wise u will not have permision to get user info $params=array("oauth_verifier" => $_GET['oauth_verifier'],"oauth_token"=>$_GET['oauth_token']); $access_token = $connection->oauth("oauth/access_token", $params); //now again create new instance using updated return oauth_token and oauth_token_secret because old one expired if u dont u this u will also get token expired error $connection = new TwitterOAuth($consumer_key, $consumer_secret, $access_token['oauth_token'],$access_token['oauth_token_secret']); $content = $connection->get("account/verify_credentials"); print_r($content); } else{ // main startup code $consumer_key = 'your consumer key'; $consumer_secret = 'your secret key'; //this code will return your valid url which u can use in iframe src to popup or can directly view the page as its happening in this example $connection = new TwitterOAuth($consumer_key, $consumer_secret); $temporary_credentials = $connection->oauth('oauth/request_token', array("oauth_callback" =>'http://dev.crm.alifca.com/twitter/index.php')); $_SESSION['oauth_token']=$temporary_credentials['oauth_token']; $_SESSION['oauth_token_secret']=$temporary_credentials['oauth_token_secret'];$url = $connection->url("oauth/authorize", array("oauth_token" => $temporary_credentials['oauth_token'])); // REDIRECTING TO THE URL header('Location: ' . $url); } ?>
Вот некоторые библиотеки PHP OAuth 1.0A с примерами:
Twitter async предоставляет документацию о том, как просто вписать пользователя, как вы просили.
Вот пошаговое руководство по интеграции Twitter OAuth API в веб-приложение с использованием PHP. Пожалуйста, следуйте инструкциям.
http://www.smarttutorials.net/sign-in-with-twitter-oauth-api-using-php/
Вам нужно сначала создать приложение для Twitter, перейдя по следующему URL-адресу
Затем вам необходимо предоставить необходимую информацию для приложения Twitter. После того, как вы предоставили всю информацию, а затем сохраните ее. Вы получите секретный ключ для потребителя Twitter и потребительский секрет.
Загрузите исходный файл из приведенной выше ссылки и просто замените TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET и TWITTER_OAUTH_CALLBACK на свой потребительский ключ (ключ API), секрет потребителя (секрет API) и URL-адрес обратного вызова. Затем загрузите это на свой сервер. Теперь он будет работать успешно.