search

Home  >  Q&A  >  body text

php - Google Oauth2 获取用户信息,遇到一个诡异的问题

异常描述
我使用帐号 A 登录授权以后,获取到帐号 A 的信息,然后退出。
再使用另一个帐号 B 登陆授权以后,获取的信息依然是帐号 A 的信息。
但过上一段时间(无法确定多久时间),再使用帐号 B 登陆授权,可以获取帐号 B 的信息,再退出。
再使用帐号 A 登陆,获取的信息依然是帐号 B 的信息,这是怎么一回事情啊?

测试地址: http://www.euask.com/oauth/google.php

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

<code><?php

 

require_once __DIR__ .'/g/vendor/autoload.php';

 

session_start();

 

$client = new Google_Client();

$client->setAuthConfigFile('client_secrets.json');

$client->setRedirectUri('http://www.euask.com/oauth/google.php');

$client->setScopes(array(

  'https://www.googleapis.com/auth/userinfo.email',

  'https://www.googleapis.com/auth/plus.login',

  'https://www.googleapis.com/auth/plus.me'

));

// $client->addScope(Google_Service_Oauth2::USERINFO_EMAIL);

$plus = new Google_Service_Oauth2($client);

 

if (isset($_REQUEST['logout'])) {

  session_unset();

}

 

if (isset($_GET['code'])) {

  $client->authenticate($_GET['code']);

  $_SESSION['access_token'] = $client->getAccessToken();

  $redirect = 'http://www.euask.com/oauth/google.php';

  header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));

}

 

if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {

  $client->setAccessToken($_SESSION['access_token']);

  $me = $plus->userinfo->get();

  $id = $me['id'];

  $name = $me['givenName'];

  $email = $me['email'];

  $profile_image_url = $me['picture'];

} else {

  $auth_url = $client->createAuthUrl();

}

 

?>

 

<p>

  <?php

    if (isset($auth_url)) {

      echo "<a href='".filter_var($auth_url, FILTER_SANITIZE_URL)."'>Google login</a>";

    } else {

      // print "ID: {$id} <br />";

      print "Name: {$name} <br />";

      print "Email: {$email} <br />";

      print "Image: {$profile_image_url} <br />";

      echo "<a href='?logout'>Sign out</a>";

    }

  ?>

</p></code>

天蓬老师天蓬老师2913 days ago890

reply all(0)I'll reply

No reply
  • Cancelreply