From 6dc8048b57d0fb1471913e5efc25f30c2c8f9700 Mon Sep 17 00:00:00 2001 From: Nikolay Gnatyo Date: Fri, 18 Aug 2017 18:38:37 +0300 Subject: [PATCH] Add encoder. Massive renaming. --- CHANGELOG.md | 4 +++ .../Jwt/AbstractAdapterFactory.php | 11 +++++++ .../Jwt/AbstractJwtDecoderFactory.php | 9 ------ ...oderInterface.php => DecoderInterface.php} | 2 +- src/FreeElephants/Jwt/EncoderInterface.php | 15 ++++++++++ .../Jwt/Firebase/FirebaseAdapterFactory.php | 23 +++++++++++++++ .../FirebaseDecoderAdapter.php} | 15 ++++++++-- .../Jwt/Firebase/FirebaseEncoderAdapter.php | 29 +++++++++++++++++++ .../Jwt/FirebaseJwtDecoderFactory.php | 14 --------- .../Jwt/JwtValidatorInterface.php | 12 -------- .../FirebaseDecoderAdapterTest.php} | 16 +++++----- .../Firebase/FirebaseEncoderAdapterTest.php | 19 ++++++++++++ 12 files changed, 124 insertions(+), 45 deletions(-) create mode 100644 src/FreeElephants/Jwt/AbstractAdapterFactory.php delete mode 100644 src/FreeElephants/Jwt/AbstractJwtDecoderFactory.php rename src/FreeElephants/Jwt/{JwtDecoderInterface.php => DecoderInterface.php} (89%) create mode 100644 src/FreeElephants/Jwt/EncoderInterface.php create mode 100644 src/FreeElephants/Jwt/Firebase/FirebaseAdapterFactory.php rename src/FreeElephants/Jwt/{FirebaseJwtDecoderAdapter.php => Firebase/FirebaseDecoderAdapter.php} (75%) create mode 100644 src/FreeElephants/Jwt/Firebase/FirebaseEncoderAdapter.php delete mode 100644 src/FreeElephants/Jwt/FirebaseJwtDecoderFactory.php delete mode 100644 src/FreeElephants/Jwt/JwtValidatorInterface.php rename tests/FreeElephants/Jwt/{FirebaseJwtAdapterTest.php => Firebase/FirebaseDecoderAdapterTest.php} (54%) create mode 100644 tests/FreeElephants/Jwt/Firebase/FirebaseEncoderAdapterTest.php diff --git a/CHANGELOG.md b/CHANGELOG.md index f405691..9bd3dfb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [0.3.0] - 2017-08-18 +### Changed +- New names for all items. + ## [0.2.0] - 2017-08-18 ### Changed - Renamed: JwtDecoderAdapterInterface -> JwtDecoderInterface diff --git a/src/FreeElephants/Jwt/AbstractAdapterFactory.php b/src/FreeElephants/Jwt/AbstractAdapterFactory.php new file mode 100644 index 0000000..b301c33 --- /dev/null +++ b/src/FreeElephants/Jwt/AbstractAdapterFactory.php @@ -0,0 +1,11 @@ +key, $algorithm); + } } \ No newline at end of file diff --git a/src/FreeElephants/Jwt/Firebase/FirebaseEncoderAdapter.php b/src/FreeElephants/Jwt/Firebase/FirebaseEncoderAdapter.php new file mode 100644 index 0000000..9852c8f --- /dev/null +++ b/src/FreeElephants/Jwt/Firebase/FirebaseEncoderAdapter.php @@ -0,0 +1,29 @@ +key = $key; + } + + /** + * @param array|object $token + * @return string + */ + public function encode($token, string $algorithm): string + { + return Jwt::encode($token, $this->key, $algorithm); + } +} \ No newline at end of file diff --git a/src/FreeElephants/Jwt/FirebaseJwtDecoderFactory.php b/src/FreeElephants/Jwt/FirebaseJwtDecoderFactory.php deleted file mode 100644 index 44ed91d..0000000 --- a/src/FreeElephants/Jwt/FirebaseJwtDecoderFactory.php +++ /dev/null @@ -1,14 +0,0 @@ - - */ -interface JwtValidatorInterface -{ - - public function isValid(string $signature): bool; -} \ No newline at end of file diff --git a/tests/FreeElephants/Jwt/FirebaseJwtAdapterTest.php b/tests/FreeElephants/Jwt/Firebase/FirebaseDecoderAdapterTest.php similarity index 54% rename from tests/FreeElephants/Jwt/FirebaseJwtAdapterTest.php rename to tests/FreeElephants/Jwt/Firebase/FirebaseDecoderAdapterTest.php index ad6c64b..0a41c3d 100644 --- a/tests/FreeElephants/Jwt/FirebaseJwtAdapterTest.php +++ b/tests/FreeElephants/Jwt/Firebase/FirebaseDecoderAdapterTest.php @@ -1,39 +1,41 @@ authid = 'joe'; $expected->authroles = [ 'subscriber' ]; - $this->assertEquals($expected, $decoder->decode($signature)); + $this->assertEquals($expected, $decoder->decode(self::EXAMPLE_JWT)); } public function testUseEmptyAllowedAlgorithmsListInvalidArgumentException() { $this->expectException(InvalidArgumentException::class); - new FirebaseJwtDecoder('example_key', []); + new FirebaseDecoderAdapter('example_key', []); } public function testSetAllowedAlgorithmsOutOfBoundsException() { $this->expectException(OutOfBoundsException::class); - new FirebaseJwtDecoder('example_key', ['foo bar']); + new FirebaseDecoderAdapter('example_key', ['foo bar']); } + } \ No newline at end of file diff --git a/tests/FreeElephants/Jwt/Firebase/FirebaseEncoderAdapterTest.php b/tests/FreeElephants/Jwt/Firebase/FirebaseEncoderAdapterTest.php new file mode 100644 index 0000000..1fd7e4c --- /dev/null +++ b/tests/FreeElephants/Jwt/Firebase/FirebaseEncoderAdapterTest.php @@ -0,0 +1,19 @@ +assertSame(self::EXAMPLE_JWT, $encoder->encode(['authid' => 'joe', 'authroles' => ['subscriber']], 'HS256')); + } +} \ No newline at end of file