pinterest Login API allows the user to sign into the website using their pinterest account without sign up on that website. Here we can give an option to the user to register/ login to our system with their pinterest.
You need to generate Pinterest App Client Id and Client Secret.
<?php define('PINTEREST_APPLICATION_ID','**************'); define('PINTEREST_APPLICATION_SECRET','**************'); define('PINTEREST_REDIRECT_URI','**************'); ?>
Now Add the following code to "Sign in with pinterest" button.
<a href="<?php echo $login_url ?>">Login with pinterest</a>
if(isset($_GET['code'])){ try { $pinterest_ob = new PinterestApi(); // Get the access token $access_token = $pinterest_ob->GetAccessToken(PINTEREST_APPLICATION_ID,PINTEREST_REDIRECT_URI,PINTEREST_APPLICATION_SECRET, $_GET['code']); // Get user information $user_info = $pinterest_ob->GetUserProfileInfo($access_token); // Echo user information for display $passcode = $user_info['id']; $fname = $user_info['first_name']; $lname = $user_info['last_name']; $profilepic = $user_info['image']['60x60']['url']; $loginwith = "Pinterest"; /*Check if the user connected before */ $sql = db_query("select * from register_pinterest where passcode='".$passcode."'"); $numrow = mysqli_num_rows($sql); if($numrow > 0){ $_SESSION['passcode'] = $passcode; header('Location:myaccount.php'); exit(); } $btnstatus = ""; } catch(Exception $e) { header('Location:index.php?error'); echo $e->getMessage(); exit; } }
/*Check if the user connected before */ $sql = db_query("select * from register_pinterest where passcode='".$passcode."'"); $numrow = mysqli_num_rows($sql); if($numrow > 0){ $_SESSION['email'] = $email; $_SESSION['passcode'] = $passcode; header('Location:myaccount.php'); exit(); }
CREATE TABLE IF NOT EXISTS `register_pinterest` ( `id` int(11) NOT NULL AUTO_INCREMENT, `firstname` varchar(50) DEFAULT NULL, `lastname` varchar(50) DEFAULT NULL, `email` varchar(60) DEFAULT NULL, `gender` varchar(10) DEFAULT NULL, `passcode` varchar(100) DEFAULT NULL, `profilepic` varchar(250) DEFAULT NULL, `loginwith` varchar(10) DEFAULT NULL, `status` int(11) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;