Skip to content

Commit 1e85443

Browse files
fix: method signatures after 1.0 release (#427)
1 parent 1a468a4 commit 1e85443

File tree

2 files changed

+55
-16
lines changed

2 files changed

+55
-16
lines changed

src/OpenIDConnectClient.php

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*
44
* Copyright MITRE 2020
55
*
6-
* OpenIDConnectClient for PHP5
6+
* OpenIDConnectClient for PHP7+
77
* Author: Michael Jett <[email protected]>
88
*
99
* Licensed under the Apache License, Version 2.0 (the "License"); you may
@@ -25,7 +25,6 @@
2525

2626
use Error;
2727
use Exception;
28-
use phpseclib3\Crypt\PublicKeyLoader;
2928
use phpseclib3\Crypt\RSA;
3029
use phpseclib3\Math\BigInteger;
3130
use stdClass;
@@ -380,7 +379,7 @@ public function authenticate(): bool
380379
$accessToken = $_REQUEST['access_token'] ?? null;
381380

382381
// Do an OpenID Connect session check
383-
if (!isset($_REQUEST['state']) || ($_REQUEST['state'] !== $this->getState())) {
382+
if (!isset($_REQUEST['state']) || ($_REQUEST['state'] !== $this->getState())) {
384383
throw new OpenIDConnectClientException('Unable to determine state');
385384
}
386385

@@ -691,7 +690,7 @@ public function getRedirectURL(): string
691690
if (isset($_SERVER['HTTP_X_FORWARDED_PORT'])) {
692691
$port = (int)$_SERVER['HTTP_X_FORWARDED_PORT'];
693692
} elseif (isset($_SERVER['SERVER_PORT'])) {
694-
$port = (int)$_SERVER['SERVER_PORT'];
693+
$port = $_SERVER['SERVER_PORT'];
695694
} elseif ($protocol === 'https') {
696695
$port = 443;
697696
} else {
@@ -1221,10 +1220,9 @@ protected function urlEncode(string $str): string
12211220
/**
12221221
* @param string $jwt encoded JWT
12231222
* @param int $section the section we would like to decode
1224-
* @return object
1223+
* @return object|null
12251224
*/
1226-
protected function decodeJWT(string $jwt, int $section = 0): stdClass {
1227-
1225+
protected function decodeJWT(string $jwt, int $section = 0) {
12281226
$parts = explode('.', $jwt);
12291227
return json_decode(base64url_decode($parts[$section]), false);
12301228
}
@@ -1688,7 +1686,10 @@ public function revokeToken(string $token, string $token_type_hint = '', string
16881686
return json_decode($this->fetchURL($revocation_endpoint, $post_params, $headers), false);
16891687
}
16901688

1691-
public function getClientName(): string
1689+
/**
1690+
* @return string|null
1691+
*/
1692+
public function getClientName()
16921693
{
16931694
return $this->clientName;
16941695
}
@@ -1698,14 +1699,14 @@ public function setClientName(string $clientName) {
16981699
}
16991700

17001701
/**
1701-
* @return string
1702+
* @return string|null
17021703
*/
17031704
public function getClientID() {
17041705
return $this->clientID;
17051706
}
17061707

17071708
/**
1708-
* @return string
1709+
* @return string|null
17091710
*/
17101711
public function getClientSecret() {
17111712
return $this->clientSecret;
@@ -1720,17 +1721,26 @@ public function setAccessToken(string $accessToken) {
17201721
$this->accessToken = $accessToken;
17211722
}
17221723

1723-
public function getAccessToken(): string
1724+
/**
1725+
* @return string|null
1726+
*/
1727+
public function getAccessToken()
17241728
{
17251729
return $this->accessToken;
17261730
}
17271731

1728-
public function getRefreshToken(): string
1732+
/**
1733+
* @return string|null
1734+
*/
1735+
public function getRefreshToken()
17291736
{
17301737
return $this->refreshToken;
17311738
}
17321739

1733-
public function getIdToken(): string
1740+
/**
1741+
* @return string|null
1742+
*/
1743+
public function getIdToken()
17341744
{
17351745
return $this->idToken;
17361746
}

tests/OpenIDConnectClientTest.php

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,38 @@
77

88
class OpenIDConnectClientTest extends TestCase
99
{
10-
/**
11-
* @return void
12-
*/
10+
public function testJWTDecode()
11+
{
12+
$client = new OpenIDConnectClient();
13+
$client->setAccessToken('');
14+
$header = $client->getAccessTokenHeader();
15+
self::assertEquals('', $header);
16+
}
17+
18+
public function testGetNull()
19+
{
20+
$client = new OpenIDConnectClient();
21+
self::assertNull($client->getAccessToken());
22+
self::assertNull($client->getRefreshToken());
23+
self::assertNull($client->getIdToken());
24+
self::assertNull($client->getClientName());
25+
self::assertNull($client->getClientID());
26+
self::assertNull($client->getClientSecret());
27+
self::assertNull($client->getCertPath());
28+
}
29+
30+
public function testResponseTypes()
31+
{
32+
$client = new OpenIDConnectClient();
33+
self::assertEquals([], $client->getResponseTypes());
34+
35+
$client->setResponseTypes('foo');
36+
self::assertEquals(['foo'], $client->getResponseTypes());
37+
38+
$client->setResponseTypes(['bar', 'ipsum']);
39+
self::assertEquals(['foo', 'bar', 'ipsum'], $client->getResponseTypes());
40+
}
41+
1342
public function testGetRedirectURL()
1443
{
1544
$client = new OpenIDConnectClient();

0 commit comments

Comments
 (0)