noriel0010/third-party-sso
Composer 安装命令:
composer require noriel0010/third-party-sso
包简介
PHP Library to verify and validate 3rd party AccessToken/IdToken from different Social Media (facebook, microsoft, google, linkedin and apple) and authenticate a User with mentioned social media id
关键字:
README 文档
README
Installation
Install this library through Composer.
composer require noriel0010/third-party-sso
Sample Usage
use Noriel\SSO\Auth\Service\ThirdPartyService; $service = new ThirdPartyService(); try { $apple = $service->apple('apple.identity.token', 'your.app.as.audience')->authenticate(); $facebook = $service->facebook('facebook.access.token')->authenticate(); $google = $service->google('google.access.token', 'google_key')->authenticate(); $linkedin = $service->linkedin('linkedin.access.token')->authenticate(); $microsoft = $service->microsoft('microsoft.access.token')->authenticate(); } catch (\Throwable $th) { echo $th->getMessage(); }
The authenticate() method returns Object Data Type
Apple
For Apple, this assumes that you already have generated identityToken either from accessToken or from refresh_token. Remember that identityToken is valid ONLY for 10 minutes.
Uses
- Apple ID API
- Lcobucci JSON Web Token 3.3.3
- Guzzle
https://appleid.apple.comas Defaultissuer
Test
To test Apple, you can paste your freshly generated identityToken in
test/Apple/AppleTest.php:24 and your audience in test/Apple/AppleTest.php:25 then run .\vendor\bin\phpunit test/Apple.
For Facebook, this assumes that you already have generated accessToken.
Uses
- Graph Facebook v4.0
- Guzzle
id,name,emailas Default Facebook Fields
Test
To test Facebook, you can paste your freshly generated accessToken in
test/Facebook/FacebookTest.php:24 then run .\vendor\bin\phpunit test/Facebook.
For Google, this assumes that you already have generated accessToken and Google API key.
Uses
- Google Person API v1
- Guzzle
names,emailAddressesas Default Google personFields Query Parameter
Test
To test Google, you can paste your freshly generated accessToken in
test/Google/GoogleTest.php:24 and your key in test/Google/GoogleTest.php:25 then run .\vendor\bin\phpunit test/Google.
For LinkedIn, this assumes that you already have generated accessToken.
Uses
- Linkedin API v2
- Guzzle
(elements*(handle~))as Default Linkedin Email Projection
Test
To test Linkedin, you can paste your freshly generated accessToken in
test/Linkedin/LinkedinTest.php:24 then run .\vendor\bin\phpunit test/Linkedin.
Microsoft
For Microsoft, this assumes that you already have generated accessToken.
Uses
Test
To test Microsoft, you can paste your freshly generated accessToken in
test/Microsoft/MicrosoftTest.php:24 then run .\vendor\bin\phpunit test/Microsoft.
统计信息
- 总下载量: 48
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 6
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-03-29