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() のところがスペルミスしていた