SlideShare uma empresa Scribd logo
1 de 7
1	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
Facebookログインとセッション
2	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
Facebookログインの流流れ
1
2
APIでログイン⽤用URLを
取得する
Facebook側で
認証を⾏行行う
API
3 結果を返却する4 ログイン後、
指定されたページへ
⾃自動リンクされる
PHP
3	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
全体の流流れ(ログイン後)
2 ログイン成功!
このユーザーのIDがわかる
PHP SQL
3 マイページ画⾯面
あれ?IDは何だっけ?
PHP
l  ログインが成功した後
-  このユーザーの情報はどうやって、それ以降降のページに
-  引き継いだら良良いのだろうか?
ü  ユーザーの情報を引き継ぐ理理由 =                                
SQLの where や insert時の values 部分に必要になるから。
IDを引き継ぎたい!
PHP
1 facebookログイン
4	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
セッション管理理
l  セッション(2/3)
-  そこで、
ü 「ユーザを識識別するために」
ü 「はじめにチケットをユーザに発⾏行行して」
ü 「アクセスするたびにそのチケットを⾒見見せてもらう」
ことで、ユーザを忘れないようにしました。
-  この仕組みをセッション管理理といいます。
ログインさせて!
はい、ログイン成功です。あ、あとこれ持ってて
私の購⼊入履履歴みせて!あ、さっきこれもらった
ああ、あなたね
プログラム
(本当はWebサーバー)
復復習
5	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
l  セッション(3/3)
-  phpでセッションを利利⽤用するには以下のように
ü session_start(); でセッションを開始し、
ü $_SESSION[‘⾃自分で決めたタグ名’] を⽤用いて
-  データを以降降のページに引き継ぎます。
セッション管理理
<?php
// セッションの開始
session_start();
// データベース接続プログラム
// SELECT⽂文の実⾏行行
$sql = ”select * from deal_tbl
where user_id = {$_SESSION[’id’]}”;
?>
<?php
// ログイン処理理
// データベースからユーザーIDを取得
// セッションの開始
session_start();
// セッション変数に値を代⼊入
$_SESSION[’id’] = $row[’id’];
?>
前のページで設定した
ユーザーIDが受け取れる
取得したユーザーIDを
セッションに設定
復復習
6	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
Facebook API とセッション
l  ログイン後、⾃自分のIDをセッションに保持する
・・・なんか書いてある。ここはいじらない。・・・
// Login or logout url will be needed depending on current user state.
if ($user) {
// セッション変数に値を代⼊入
$_SESSION[’user_id’] = $user;
header("Location:
http://a1.zeroprm.com/b31_cXX/
  examples/example.php");
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl();
}
・・・なんか色々書いてある。ここはいじらない。・・・
22⾏行行⽬目の
$user = $facebook-
>getUser();
でFacebook上の⾃自分のIDが
$userに⼊入っている。
session_start();は
facebook api側で既に実⾏行行
してくれているため不不要
7	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
お疲れ様でした!!

Mais conteúdo relacionado

Destaque

System4 detail for_h
System4 detail for_hSystem4 detail for_h
System4 detail for_h
Jun Chiba
 
Geolocation gurunavi
Geolocation gurunaviGeolocation gurunavi
Geolocation gurunavi
Jun Chiba
 
Javascript1-1
Javascript1-1Javascript1-1
Javascript1-1
Jun Chiba
 
System insert hint
System insert hintSystem insert hint
System insert hint
Jun Chiba
 
Login facebook
Login facebookLogin facebook
Login facebook
Jun Chiba
 
20110329チャリティイベント
20110329チャリティイベント20110329チャリティイベント
20110329チャリティイベント
Jun Chiba
 
Library login2
Library login2Library login2
Library login2
Jun Chiba
 
System3 search
System3 searchSystem3 search
System3 search
Jun Chiba
 
キャリア
キャリアキャリア
キャリア
Jun Chiba
 
Lolipop server
Lolipop serverLolipop server
Lolipop server
Jun Chiba
 
Array facebook
Array facebookArray facebook
Array facebook
Jun Chiba
 
Geolocation4 system
Geolocation4 systemGeolocation4 system
Geolocation4 system
Jun Chiba
 

Destaque (20)

System4 detail for_h
System4 detail for_hSystem4 detail for_h
System4 detail for_h
 
Geolocation gurunavi
Geolocation gurunaviGeolocation gurunavi
Geolocation gurunavi
 
Login
LoginLogin
Login
 
Php3
Php3Php3
Php3
 
Css2
Css2Css2
Css2
 
Ajax2
Ajax2Ajax2
Ajax2
 
Javascript1-1
Javascript1-1Javascript1-1
Javascript1-1
 
System insert hint
System insert hintSystem insert hint
System insert hint
 
Login facebook
Login facebookLogin facebook
Login facebook
 
Api all
Api allApi all
Api all
 
20110329チャリティイベント
20110329チャリティイベント20110329チャリティイベント
20110329チャリティイベント
 
Library login2
Library login2Library login2
Library login2
 
System3 search
System3 searchSystem3 search
System3 search
 
キャリア
キャリアキャリア
キャリア
 
Lolipop server
Lolipop serverLolipop server
Lolipop server
 
Ajax
AjaxAjax
Ajax
 
If advance
If advanceIf advance
If advance
 
Array facebook
Array facebookArray facebook
Array facebook
 
Setup
SetupSetup
Setup
 
Geolocation4 system
Geolocation4 systemGeolocation4 system
Geolocation4 system
 

Semelhante a Session facebook

System2 for h
System2 for hSystem2 for h
System2 for h
Jun Chiba
 
ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2
Taichi Inaba
 
Google App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろうGoogle App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろう
kenji4569
 
Opauthライブラリによるtwitter,facebook認証について
Opauthライブラリによるtwitter,facebook認証についてOpauthライブラリによるtwitter,facebook認証について
Opauthライブラリによるtwitter,facebook認証について
松本 雄貴
 

Semelhante a Session facebook (13)

Session
SessionSession
Session
 
System2 s1
System2 s1System2 s1
System2 s1
 
System2 for h
System2 for hSystem2 for h
System2 for h
 
System s1
System s1System s1
System s1
 
Hybridauthで簡単に認証システム実装
Hybridauthで簡単に認証システム実装Hybridauthで簡単に認証システム実装
Hybridauthで簡単に認証システム実装
 
ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2
 
Google App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろうGoogle App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろう
 
Opauthライブラリによるtwitter,facebook認証について
Opauthライブラリによるtwitter,facebook認証についてOpauthライブラリによるtwitter,facebook認証について
Opauthライブラリによるtwitter,facebook認証について
 
TwitterのOAuthってなんぞ?
TwitterのOAuthってなんぞ?TwitterのOAuthってなんぞ?
TwitterのOAuthってなんぞ?
 
EC-CUBE API プラグイン勉強会
EC-CUBE API プラグイン勉強会EC-CUBE API プラグイン勉強会
EC-CUBE API プラグイン勉強会
 
Line messaging api ハンズオン資料 ver1.2
Line messaging api ハンズオン資料 ver1.2Line messaging api ハンズオン資料 ver1.2
Line messaging api ハンズオン資料 ver1.2
 
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
 
React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面
 

Mais de Jun Chiba

Mais de Jun Chiba (20)

セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
 
答えのないコンセンサスゲーム「無人島での出来事」運営用パワーポイントスライド説明資料
答えのないコンセンサスゲーム「無人島での出来事」運営用パワーポイントスライド説明資料答えのないコンセンサスゲーム「無人島での出来事」運営用パワーポイントスライド説明資料
答えのないコンセンサスゲーム「無人島での出来事」運営用パワーポイントスライド説明資料
 
合意形成(コンセンサス)ゲーム「月での遭難 in 2025」(NASAゲーム2025)
合意形成(コンセンサス)ゲーム「月での遭難 in 2025」(NASAゲーム2025)合意形成(コンセンサス)ゲーム「月での遭難 in 2025」(NASAゲーム2025)
合意形成(コンセンサス)ゲーム「月での遭難 in 2025」(NASAゲーム2025)
 
システム思考、全体最適、SCMを体験から学ぶボードゲーム「ビールゲーム」概要説明資料
システム思考、全体最適、SCMを体験から学ぶボードゲーム「ビールゲーム」概要説明資料システム思考、全体最適、SCMを体験から学ぶボードゲーム「ビールゲーム」概要説明資料
システム思考、全体最適、SCMを体験から学ぶボードゲーム「ビールゲーム」概要説明資料
 
財務・会計を楽しく学ぶビジネスゲーム型財務・会計研修「財務の虎Lv.1」の概要説明資料
財務・会計を楽しく学ぶビジネスゲーム型財務・会計研修「財務の虎Lv.1」の概要説明資料財務・会計を楽しく学ぶビジネスゲーム型財務・会計研修「財務の虎Lv.1」の概要説明資料
財務・会計を楽しく学ぶビジネスゲーム型財務・会計研修「財務の虎Lv.1」の概要説明資料
 
プロジェクトマネジメントを疑似体験するボードゲーム型企業研修「プロジェクトテーマパーク」
プロジェクトマネジメントを疑似体験するボードゲーム型企業研修「プロジェクトテーマパーク」プロジェクトマネジメントを疑似体験するボードゲーム型企業研修「プロジェクトテーマパーク」
プロジェクトマネジメントを疑似体験するボードゲーム型企業研修「プロジェクトテーマパーク」
 
バルーンバ人文化を探れ!パワーポイント・動画マニュアル販売用のスライドシェア資料
バルーンバ人文化を探れ!パワーポイント・動画マニュアル販売用のスライドシェア資料バルーンバ人文化を探れ!パワーポイント・動画マニュアル販売用のスライドシェア資料
バルーンバ人文化を探れ!パワーポイント・動画マニュアル販売用のスライドシェア資料
 
内定者/新入社員向け ビジネスライティング研修用パワーポイントスライド販売用サンプル
内定者/新入社員向け ビジネスライティング研修用パワーポイントスライド販売用サンプル内定者/新入社員向け ビジネスライティング研修用パワーポイントスライド販売用サンプル
内定者/新入社員向け ビジネスライティング研修用パワーポイントスライド販売用サンプル
 
図形伝達ゲーム「グラコミ」
図形伝達ゲーム「グラコミ」図形伝達ゲーム「グラコミ」
図形伝達ゲーム「グラコミ」
 
傾聴力を高めるビジネスゲーム「傾聴チャレンジ」
傾聴力を高めるビジネスゲーム「傾聴チャレンジ」傾聴力を高めるビジネスゲーム「傾聴チャレンジ」
傾聴力を高めるビジネスゲーム「傾聴チャレンジ」
 
無料アイスブレイクスライドサンプル
無料アイスブレイクスライドサンプル無料アイスブレイクスライドサンプル
無料アイスブレイクスライドサンプル
 
ストレスマネジメント体験ゲーム「ストマネ」
ストレスマネジメント体験ゲーム「ストマネ」ストレスマネジメント体験ゲーム「ストマネ」
ストレスマネジメント体験ゲーム「ストマネ」
 
ベストチームオンライン説明スライド
ベストチームオンライン説明スライドベストチームオンライン説明スライド
ベストチームオンライン説明スライド
 
死の疑似体験ワーク 対面版
死の疑似体験ワーク 対面版死の疑似体験ワーク 対面版
死の疑似体験ワーク 対面版
 
地図作成ゲーム「ジグソータウン」説明資料
地図作成ゲーム「ジグソータウン」説明資料地図作成ゲーム「ジグソータウン」説明資料
地図作成ゲーム「ジグソータウン」説明資料
 
プロジェクトテーマパーク説明資料
プロジェクトテーマパーク説明資料プロジェクトテーマパーク説明資料
プロジェクトテーマパーク説明資料
 
死の疑似体験ワーク(対面版)説明資料
死の疑似体験ワーク(対面版)説明資料死の疑似体験ワーク(対面版)説明資料
死の疑似体験ワーク(対面版)説明資料
 
ヘリウムリング&フープリレー
ヘリウムリング&フープリレーヘリウムリング&フープリレー
ヘリウムリング&フープリレー
 
世界記録を目指すマシュマロチャレンジ
世界記録を目指すマシュマロチャレンジ世界記録を目指すマシュマロチャレンジ
世界記録を目指すマシュマロチャレンジ
 
相互理解ワークショップ、内定者懇親会で使えるワークスタイルトランプ
相互理解ワークショップ、内定者懇親会で使えるワークスタイルトランプ相互理解ワークショップ、内定者懇親会で使えるワークスタイルトランプ
相互理解ワークショップ、内定者懇親会で使えるワークスタイルトランプ
 

Session facebook

  • 1. 1 Copyright (c) 株式会社HEART QUAKE All rights reserved . Facebookログインとセッション
  • 2. 2 Copyright (c) 株式会社HEART QUAKE All rights reserved . Facebookログインの流流れ 1 2 APIでログイン⽤用URLを 取得する Facebook側で 認証を⾏行行う API 3 結果を返却する4 ログイン後、 指定されたページへ ⾃自動リンクされる PHP
  • 3. 3 Copyright (c) 株式会社HEART QUAKE All rights reserved . 全体の流流れ(ログイン後) 2 ログイン成功! このユーザーのIDがわかる PHP SQL 3 マイページ画⾯面 あれ?IDは何だっけ? PHP l  ログインが成功した後 -  このユーザーの情報はどうやって、それ以降降のページに -  引き継いだら良良いのだろうか? ü  ユーザーの情報を引き継ぐ理理由 =                                 SQLの where や insert時の values 部分に必要になるから。 IDを引き継ぎたい! PHP 1 facebookログイン
  • 4. 4 Copyright (c) 株式会社HEART QUAKE All rights reserved . セッション管理理 l  セッション(2/3) -  そこで、 ü 「ユーザを識識別するために」 ü 「はじめにチケットをユーザに発⾏行行して」 ü 「アクセスするたびにそのチケットを⾒見見せてもらう」 ことで、ユーザを忘れないようにしました。 -  この仕組みをセッション管理理といいます。 ログインさせて! はい、ログイン成功です。あ、あとこれ持ってて 私の購⼊入履履歴みせて!あ、さっきこれもらった ああ、あなたね プログラム (本当はWebサーバー) 復復習
  • 5. 5 Copyright (c) 株式会社HEART QUAKE All rights reserved . l  セッション(3/3) -  phpでセッションを利利⽤用するには以下のように ü session_start(); でセッションを開始し、 ü $_SESSION[‘⾃自分で決めたタグ名’] を⽤用いて -  データを以降降のページに引き継ぎます。 セッション管理理 <?php // セッションの開始 session_start(); // データベース接続プログラム // SELECT⽂文の実⾏行行 $sql = ”select * from deal_tbl where user_id = {$_SESSION[’id’]}”; ?> <?php // ログイン処理理 // データベースからユーザーIDを取得 // セッションの開始 session_start(); // セッション変数に値を代⼊入 $_SESSION[’id’] = $row[’id’]; ?> 前のページで設定した ユーザーIDが受け取れる 取得したユーザーIDを セッションに設定 復復習
  • 6. 6 Copyright (c) 株式会社HEART QUAKE All rights reserved . Facebook API とセッション l  ログイン後、⾃自分のIDをセッションに保持する ・・・なんか書いてある。ここはいじらない。・・・ // Login or logout url will be needed depending on current user state. if ($user) { // セッション変数に値を代⼊入 $_SESSION[’user_id’] = $user; header("Location: http://a1.zeroprm.com/b31_cXX/   examples/example.php"); $logoutUrl = $facebook->getLogoutUrl(); } else { $loginUrl = $facebook->getLoginUrl(); } ・・・なんか色々書いてある。ここはいじらない。・・・ 22⾏行行⽬目の $user = $facebook- >getUser(); でFacebook上の⾃自分のIDが $userに⼊入っている。 session_start();は facebook api側で既に実⾏行行 してくれているため不不要
  • 7. 7 Copyright (c) 株式会社HEART QUAKE All rights reserved . お疲れ様でした!!