google web サービスログイン処理実装

google web サービスログイン処理実装

#15 ログイン処理を実装しよう
http://dotinstall.com/lessons/google_connect_php_v2/9915
を参考に
ログイン画面を実装して、ホーム画面にユーザ情報を表示

編集するファイルは redirect.php

まずは、ログイン処理
if(!empty($user)){
}
という判定で $user の中身が空でないか判定する
その後、セッションハイジャック対策をおこなうため
session_regerate_id()
を使って

session_regenerate_id(true);

とする

この session_regenerate_id() については
http://php.net/manual/ja/function.session-regenerate-id.php
のリファレンスを参考にする
この関数をつかうと
現在のセッションIDを新しく生成したものと置き換えることができる
ちなみに、現在のセッション情報は遺児されたまま

肝心のログイン処理だけど
これは
meという変数へ $user の値を入れればOK

$_SESSION['me'] = $user;

ここまでできたら
header() でホーム画面に飛ばす

header('Location: '.SITE_URL);

ここまでできたら、次に index.php を編集していく

body 要素のところへ

<p>
<?php echo h($_SESSION['me']['google_name']); ?>
(<?php echo h($_SESSION['me']['google_email']); ?>) のGoogleアカウントでログインしています</p>

と追記する

ここまでできたら、再び index.php へブラウザでアクセスして
google 認証すると
ログイン画面にて
アカウントの名前やメールアドレスが表示される

途中、ログイン画面でなにもでなくてこまったけど
vim index.php_base
でコピペして
自分のファイル
index.php と

diff -w index.php index.php_base
で違いを表示したら
h() のところがスペルミスしていた

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です