26
تشکر

ورود کاربران بوسیله اکانت گوگل – بخش دوم

PHP – پی اچ پی

PHP – پی اچ پی

در مطلب گذشته نحوه گرفتن اطلاعات لازم برای فراهم کردن ورود کاربران با استفاده از اکانت گوگل را یاد گرفتیم. حال در این مطلب بوسیله کتابخانه های گوگل، اطلاعات کاربر را از سایت گوگل میگیریم.

گوگل کار را برای ما بسیار آسان کرده، و ما با استفاده از کدهای آماده میتوانیم کار را به صورت خیلی سریع پیش ببریم. در این صفحه گوگل کدهای آماده این کار را گذاشته است، که میتوانید از آن استفاده کنید. اما ممکن است برای شما کمی دردسر داشته باشد، علاوه بر تحریم ایران از سوی گوگل شما باید فایل های وابسته را نیز دانلود کنید، که ما قبلا اینکار را کرده ایم، پس تا انتها همراه ما باشید.

با استفاده از تغییراتی که بنده در مثال گوگل داده ام، کار را کمی آسان تر کرده ام. ابتدا نگاهی به کد می اندازیم:

<?php
  $google_client_id = "XXXXXX";
  $google_client_secret = "XXXXXX";
  $google_redirect_url = "XXXXXX";
  $google_developer_key = "XXXXXX";
  
  require_once 'src/Login_With_Google.php';
?>
<!DOCTYPE HTML>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Login with Google</title>
</head>
<body>
  <h1>Login with Google</h1>
  
  <?php if(!$user_login): //user is not logged in, show login button ?> 
    <a href="<?php echo $authUrl; ?>">Click to login aparnet with Google account</a><br />
  
  <?php else: // user logged in ?>
    <ul>
      <li><strong>User id: </strong><?php echo $user_id ?></li>
      <li><strong>User name: </strong><?php echo $user_name ?></li>
      <li><strong>Email: </strong><?php echo $email ?></li>
      <li><strong><a href="<?php echo $profile_url ?>">Profile url</a></strong></li>
      <li><strong><a href="<?php echo $profile_image_url ?>">Profile image url</a></strong></li>
      <li><strong>Person markup: </strong><?php echo $personMarkup ?></li>
    </ul>
    <h3>All info user:</h3>
    

		


    <h4><a class="logout" href="?reset=1">Logout</a></h4>
  <?php
    endif;
  ?>
</body>
</html>

در خطهای 2 تا 5 شما باید اطلاعات مربوط به سایت خودتان که در بخش اول این مطلب دریافت کرده اید را جایگزین کنید. همچنین کتابخانه های گوگل را هم دانلود کرده و در کنار فایلی که کدهای بالا درون آن است قرار دهید. به همین سادگی کار به اتمام رسید.

متغیر $user_login در صورتی که کاربر با استفاده از اکانت گوگل وارد شده باشد مقدار true و در غیر این صورت مقدار false را برمیگرداند. به همین دلیل ما در خط 18 ابتدا چک میکنیم که کاربر وارد شده است یا خیر.

اگر کاربر هنوز لاگین نکرده بود لینکی به کاربر نمایش میدهیم که در صورت کلیک به سایت گوگل منتقل میشود (خط 19).

اما اگر کاربر لاگین کرده بود (خط 21)، اطلاعات کاربری را نمایش میدهیم (خط 23 تا 28). در صورتی که کاربر لاگین کرده بود، لینک Logout را هم به کاربر نمایش میدهیم، تا اگر مایل بود از سایت خارج شود (خط 32).

کار به پایان رسید. اگر میخواهید کاربری که برای اولین بار در سایت شما لاگین کرده است (به نوعی ثبت نام کرده است) را از کاربری که قبلا هم در سایت لاگین کرده است شناسایی کنید، باید هر کاربری که لاگین میکند، ID آن کاربر را در دیتابیس ذخیره کنید. به این صورت هر کاربری که لاگین میکند ابتدا چک میکنید که ID آن کاربر در دیتابیس موجود است یا خیر. اگر ID موجود بود، به این معناست که این کاربر قبلا هم وارد سایت شده است.

نکته دیگر آنکه آدرس Redirect URL که در بخش اول این مطلب وارد کرده اید باید آدرس فایل حاوی کدهای بالا باشد.

به هر حال شما ممکن است به صورت دیگری بخواهید این امکان را پیاده سازی کنید. در این صورت پیشنهاد میکنم از فایل Login_with_Google.php تغییرات خود را شروع کنید.

مشاهده دمو

دانلود کتابخانه های گوگل به همراه فایل نمونه

مطالب مرتبط:

ورود کاربران بوسیله اکانت گوگل – بخش اول

  • سعید وکیلی می‌گه:

    ممنون مثل همیشه عالی بود

  • محمد می‌گه:

    متشکر آموزش خیلی روان و کاربردی بود و به راحتی تونستم تو یکی از پروژه هام استفاده کنم.
    لطفا اموزش ورود از طریق یاهو و ف-ی-س ب-و-ک رو هم بزارین


  • نظرات این مطلب بسته است.