Commit 59011c849ecd91a89b40f6273eb41558946150d0

Authored by oji
1 parent cb01abeff1
Exists in master

bug fixes sso callback

Showing 1 changed file with 17 additions and 3 deletions Side-by-side Diff

app/SsoClientLibrary.php
... ... @@ -45,13 +45,17 @@
45 45 ]);
46 46  
47 47 $_url = $this->targetUri ."oauth/authorize?" . $query;
48   - echo '<pre>';print_r($_url);
  48 + // echo '<pre>';print_r($_url);
49 49 header("Location: " . $_url);
50 50 die();
51 51 }
52 52  
53 53 public function ssoCallback() {
54   - if (isset($_GET['code']) && !empty(($_GET['code']))) {
  54 + $url = parse_url($this->redirectUri);
  55 + $code = str_replace($url['path'] . '?code=','',$_SERVER['REQUEST_URI']);
  56 + $code = explode('&',$code);
  57 + $code = $code[0] ?? '';
  58 + if ($code != '') {
55 59 $_access_token = '';
56 60 $_errors = '';
57 61  
... ... @@ -60,7 +64,7 @@
60 64 'client_id' => $this->clientId,
61 65 'client_secret' => $this->clientSecret,
62 66 'redirect_uri' => $this->redirectUri,
63   - 'code' => $_GET['code'],
  67 + 'code' => $code,
64 68 ];
65 69 $arr_token = $this->__runCurl('POST', $this->targetUri."oauth/token", $_posts);
66 70 return $arr_token;
... ... @@ -123,6 +127,16 @@
123 127 return $error;
124 128 }
125 129 die('Something went wrong, please trace back your action!');
  130 + }
  131 +
  132 + public function ssoLogout($url_back = '') {
  133 + $query = http_build_query([
  134 + 'url_back' => $url_back,
  135 + ]);
  136 +
  137 + $_url = $this->targetUri ."sso/logout?" . $query;
  138 + header("Location: " . $_url);
  139 + die();
126 140 }
127 141  
128 142 }