···163163Sessions automatically refresh when tokens are about to expire (default: 5 minutes before expiration). Listen to events if you need to persist refreshed tokens:
164164165165```php
166166-use SocialDept\AtpClient\Events\TokenRefreshed;
166166+use SocialDept\AtpClient\Events\OAuthTokenRefreshed;
167167168168-Event::listen(TokenRefreshed::class, function ($event) {
168168+Event::listen(OAuthTokenRefreshed::class, function ($event) {
169169 // $event->did - the user's DID (e.g., did:plc:abc123...)
170170 // $event->token - the new AccessToken
171171 // Update your credential storage here
···713713When tokens are automatically refreshed, you can listen for events:
714714715715```php
716716-use SocialDept\AtpClient\Events\TokenRefreshed;
716716+use SocialDept\AtpClient\Events\OAuthTokenRefreshed;
717717718718// In EventServiceProvider or via Event::listen()
719719-Event::listen(TokenRefreshed::class, function (TokenRefreshed $event) {
719719+Event::listen(OAuthTokenRefreshed::class, function (OAuthTokenRefreshed $event) {
720720 // The CredentialProvider.updateCredentials() is already called,
721721 // but you can do additional logging or notifications here
722722 Log::info("Token refreshed for: {$event->did}");
···727727728728The package dispatches events you can listen to:
729729730730-### UserAuthenticated
730730+### OAuthUserAuthenticated
731731732732Fired after a successful OAuth callback. Use this to create or update users in your application:
733733734734```php
735735-use SocialDept\AtpClient\Events\UserAuthenticated;
735735+use SocialDept\AtpClient\Events\OAuthUserAuthenticated;
736736use SocialDept\AtpClient\Facades\Atp;
737737738738-Event::listen(UserAuthenticated::class, function (UserAuthenticated $event) {
738738+Event::listen(OAuthUserAuthenticated::class, function (OAuthUserAuthenticated $event) {
739739 // $event->token contains: did, accessJwt, refreshJwt, handle, issuer, expiresAt
740740741741 // Fetch the user's profile
···757757});
758758```
759759760760-### TokenRefreshing / TokenRefreshed
760760+### OAuthTokenRefreshing / OAuthTokenRefreshed
761761762762Fired before and after automatic token refresh:
763763764764```php
765765-use SocialDept\AtpClient\Events\TokenRefreshing;
766766-use SocialDept\AtpClient\Events\TokenRefreshed;
765765+use SocialDept\AtpClient\Events\OAuthTokenRefreshing;
766766+use SocialDept\AtpClient\Events\OAuthTokenRefreshed;
767767768768// Before token refresh
769769-Event::listen(TokenRefreshing::class, function ($event) {
769769+Event::listen(OAuthTokenRefreshing::class, function ($event) {
770770 Log::info('Refreshing token for: ' . $event->did);
771771});
772772773773// After token refresh
774774-Event::listen(TokenRefreshed::class, function ($event) {
774774+Event::listen(OAuthTokenRefreshed::class, function ($event) {
775775 // CredentialProvider.updateCredentials() is already called automatically
776776 Log::info('Token refreshed for: ' . $event->did);
777777});