Skip to content

Commit

Permalink
fix(realtime): revert realtime token to apikey on user sign out (#429)
Browse files Browse the repository at this point in the history
  • Loading branch information
grdsdev authored Jun 28, 2024
1 parent bee6fa7 commit 11c629f
Showing 1 changed file with 16 additions and 9 deletions.
25 changes: 16 additions & 9 deletions Sources/Supabase/SupabaseClient.swift
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@ public final class SupabaseClient: Sendable {
var storage: SupabaseStorageClient?
var rest: PostgrestClient?
var functions: FunctionsClient?

var changedAccessToken: String?
}

private let mutableState = LockIsolated(MutableState())
Expand Down Expand Up @@ -347,14 +349,19 @@ public final class SupabaseClient: Sendable {
}

private func handleTokenChanged(event: AuthChangeEvent, session: Session?) async {
guard [
.initialSession,
.signedIn,
.tokenRefreshed,
.signedOut,
].contains(event) else { return }

realtime.setAuth(session?.accessToken)
await realtimeV2.setAuth(session?.accessToken)
let accessToken = mutableState.withValue {
if event == .tokenRefreshed || event == .signedIn, $0.changedAccessToken != session?.accessToken {
$0.changedAccessToken = session?.accessToken
return session?.accessToken
} else if event == .signedOut {
$0.changedAccessToken = nil
return supabaseKey
} else {
return nil
}
}

realtime.setAuth(accessToken)
await realtimeV2.setAuth(accessToken)
}
}

0 comments on commit 11c629f

Please sign in to comment.