podcasthosting / socialiteprovider-podcastde
podcast.de OAuth2 Provider for Laravel Socialite
Package info
github.com/podcasthosting/SocialiteProvider-podcastde
pkg:composer/podcasthosting/socialiteprovider-podcastde
v0.2
2026-05-13 08:08 UTC
Requires
- php: ^8.3
- ext-json: *
- socialiteproviders/manager: ^4.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpstan/phpstan: ^2.0
- phpunit/phpunit: ^11.0
README
OAuth2 driver for podcast.de, built on top of SocialiteProviders/Manager.
Installation
composer require podcasthosting/socialiteprovider-podcastde
Configuration
1. .env
PODCASTDE_CLIENT_ID=your-client-id PODCASTDE_CLIENT_SECRET=your-client-secret PODCASTDE_REDIRECT_URI=https://your-app.test/auth/podcastde/callback
2. config/services.php
'podcastde' => [ 'client_id' => env('PODCASTDE_CLIENT_ID'), 'client_secret' => env('PODCASTDE_CLIENT_SECRET'), 'redirect' => env('PODCASTDE_REDIRECT_URI'), ],
3. Register the event listener
In app/Providers/EventServiceProvider.php:
protected $listen = [ \SocialiteProviders\Manager\SocialiteWasCalled::class => [ \Podcasthosting\Podcastde\PodcastdeExtendSocialite::class, ], ];
Usage
use Laravel\Socialite\Facades\Socialite; Route::get('/auth/podcastde', fn () => Socialite::driver('podcastde')->redirect()); Route::get('/auth/podcastde/callback', function () { $user = Socialite::driver('podcastde')->user(); // $user->getId(), $user->getNickname(), $user->getName(), // $user->getEmail(), $user->getAvatar(), $user->token, ... });
PKCE (optional)
For public clients (SPA, mobile) you can enable PKCE (S256):
Socialite::driver('podcastde')->enablePKCE()->redirect();
Development
composer install ./vendor/bin/phpunit ./vendor/bin/phpstan analyse ./vendor/bin/php-cs-fixer fix
License
MIT