Laravel AT Protocol Client (alpha & unstable)
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add prefix `OAuth` to OAuth specific events

+21 -21
+12 -12
README.md
··· 163 163 Sessions automatically refresh when tokens are about to expire (default: 5 minutes before expiration). Listen to events if you need to persist refreshed tokens: 164 164 165 165 ```php 166 - use SocialDept\AtpClient\Events\TokenRefreshed; 166 + use SocialDept\AtpClient\Events\OAuthTokenRefreshed; 167 167 168 - Event::listen(TokenRefreshed::class, function ($event) { 168 + Event::listen(OAuthTokenRefreshed::class, function ($event) { 169 169 // $event->did - the user's DID (e.g., did:plc:abc123...) 170 170 // $event->token - the new AccessToken 171 171 // Update your credential storage here ··· 713 713 When tokens are automatically refreshed, you can listen for events: 714 714 715 715 ```php 716 - use SocialDept\AtpClient\Events\TokenRefreshed; 716 + use SocialDept\AtpClient\Events\OAuthTokenRefreshed; 717 717 718 718 // In EventServiceProvider or via Event::listen() 719 - Event::listen(TokenRefreshed::class, function (TokenRefreshed $event) { 719 + Event::listen(OAuthTokenRefreshed::class, function (OAuthTokenRefreshed $event) { 720 720 // The CredentialProvider.updateCredentials() is already called, 721 721 // but you can do additional logging or notifications here 722 722 Log::info("Token refreshed for: {$event->did}"); ··· 727 727 728 728 The package dispatches events you can listen to: 729 729 730 - ### UserAuthenticated 730 + ### OAuthUserAuthenticated 731 731 732 732 Fired after a successful OAuth callback. Use this to create or update users in your application: 733 733 734 734 ```php 735 - use SocialDept\AtpClient\Events\UserAuthenticated; 735 + use SocialDept\AtpClient\Events\OAuthUserAuthenticated; 736 736 use SocialDept\AtpClient\Facades\Atp; 737 737 738 - Event::listen(UserAuthenticated::class, function (UserAuthenticated $event) { 738 + Event::listen(OAuthUserAuthenticated::class, function (OAuthUserAuthenticated $event) { 739 739 // $event->token contains: did, accessJwt, refreshJwt, handle, issuer, expiresAt 740 740 741 741 // Fetch the user's profile ··· 757 757 }); 758 758 ``` 759 759 760 - ### TokenRefreshing / TokenRefreshed 760 + ### OAuthTokenRefreshing / OAuthTokenRefreshed 761 761 762 762 Fired before and after automatic token refresh: 763 763 764 764 ```php 765 - use SocialDept\AtpClient\Events\TokenRefreshing; 766 - use SocialDept\AtpClient\Events\TokenRefreshed; 765 + use SocialDept\AtpClient\Events\OAuthTokenRefreshing; 766 + use SocialDept\AtpClient\Events\OAuthTokenRefreshed; 767 767 768 768 // Before token refresh 769 - Event::listen(TokenRefreshing::class, function ($event) { 769 + Event::listen(OAuthTokenRefreshing::class, function ($event) { 770 770 Log::info('Refreshing token for: ' . $event->did); 771 771 }); 772 772 773 773 // After token refresh 774 - Event::listen(TokenRefreshed::class, function ($event) { 774 + Event::listen(OAuthTokenRefreshed::class, function ($event) { 775 775 // CredentialProvider.updateCredentials() is already called automatically 776 776 Log::info('Token refreshed for: ' . $event->did); 777 777 });
+2 -2
src/Auth/OAuthEngine.php
··· 6 6 use SocialDept\AtpClient\Data\AccessToken; 7 7 use SocialDept\AtpClient\Data\AuthorizationRequest; 8 8 use SocialDept\AtpClient\Data\DPoPKey; 9 - use SocialDept\AtpClient\Events\UserAuthenticated; 9 + use SocialDept\AtpClient\Events\OAuthUserAuthenticated; 10 10 use SocialDept\AtpClient\Exceptions\AuthenticationException; 11 11 use SocialDept\AtpClient\Http\DPoPClient; 12 12 use SocialDept\AtpResolver\Facades\Resolver; ··· 101 101 102 102 $token = AccessToken::fromResponse($response->json(), $request->handle, $request->pdsEndpoint); 103 103 104 - event(new UserAuthenticated($token)); 104 + event(new OAuthUserAuthenticated($token)); 105 105 106 106 return $token; 107 107 }
+1 -1
src/Events/TokenRefreshed.php src/Events/OAuthTokenRefreshed.php
··· 6 6 use Illuminate\Queue\SerializesModels; 7 7 use SocialDept\AtpClient\Data\AccessToken; 8 8 9 - class TokenRefreshed 9 + class OAuthTokenRefreshed 10 10 { 11 11 use Dispatchable, SerializesModels; 12 12
+1 -1
src/Events/TokenRefreshing.php src/Events/OAuthTokenRefreshing.php
··· 5 5 use Illuminate\Foundation\Events\Dispatchable; 6 6 use Illuminate\Queue\SerializesModels; 7 7 8 - class TokenRefreshing 8 + class OAuthTokenRefreshing 9 9 { 10 10 use Dispatchable, SerializesModels; 11 11
+1 -1
src/Events/UserAuthenticated.php src/Events/OAuthUserAuthenticated.php
··· 6 6 use Illuminate\Queue\SerializesModels; 7 7 use SocialDept\AtpClient\Data\AccessToken; 8 8 9 - class UserAuthenticated 9 + class OAuthUserAuthenticated 10 10 { 11 11 use Dispatchable, SerializesModels; 12 12
+4 -4
src/Session/SessionManager.php
··· 8 8 use SocialDept\AtpClient\Contracts\CredentialProvider; 9 9 use SocialDept\AtpClient\Contracts\KeyStore; 10 10 use SocialDept\AtpClient\Data\AccessToken; 11 - use SocialDept\AtpClient\Events\TokenRefreshed; 12 - use SocialDept\AtpClient\Events\TokenRefreshing; 11 + use SocialDept\AtpClient\Events\OAuthTokenRefreshed; 12 + use SocialDept\AtpClient\Events\OAuthTokenRefreshing; 13 13 use SocialDept\AtpClient\Exceptions\AuthenticationException; 14 14 use SocialDept\AtpClient\Exceptions\HandleResolutionException; 15 15 use SocialDept\AtpClient\Exceptions\SessionExpiredException; ··· 138 138 $did = $session->did(); 139 139 140 140 // Fire event before refresh (allows developers to invalidate old token) 141 - event(new TokenRefreshing($did, $session->refreshToken())); 141 + event(new OAuthTokenRefreshing($did, $session->refreshToken())); 142 142 143 143 $newToken = $this->refresher->refresh( 144 144 refreshToken: $session->refreshToken(), ··· 151 151 $this->credentials->updateCredentials($did, $newToken); 152 152 153 153 // Fire event after successful refresh 154 - event(new TokenRefreshed($did, $newToken)); 154 + event(new OAuthTokenRefreshed($did, $newToken)); 155 155 156 156 // Update session 157 157 $newCreds = $this->credentials->getCredentials($did);