@@ -30,6 +30,9 @@ extension AuthClient {
3030 public let decoder : JSONDecoder
3131 public let fetch : FetchHandler
3232
33+ /// Set to `true` if you want to automatically refresh the token before expiring.
34+ public let autoRefreshToken : Bool
35+
3336 /// Initializes a AuthClient Configuration with optional parameters.
3437 ///
3538 /// - Parameters:
@@ -42,6 +45,7 @@ extension AuthClient {
4245 /// - encoder: The JSON encoder to use for encoding requests.
4346 /// - decoder: The JSON decoder to use for decoding responses.
4447 /// - fetch: The asynchronous fetch handler for network requests.
48+ /// - autoRefreshToken: Set to `true` if you want to automatically refresh the token before expiring.
4549 public init (
4650 url: URL ,
4751 headers: [ String : String ] = [ : ] ,
@@ -51,7 +55,8 @@ extension AuthClient {
5155 logger: ( any SupabaseLogger ) ? = nil ,
5256 encoder: JSONEncoder = AuthClient . Configuration. jsonEncoder,
5357 decoder: JSONDecoder = AuthClient . Configuration. jsonDecoder,
54- fetch: @escaping FetchHandler = { try await URLSession . shared. data ( for: $0) }
58+ fetch: @escaping FetchHandler = { try await URLSession . shared. data ( for: $0) } ,
59+ autoRefreshToken: Bool = AuthClient . Configuration. defaultAutoRefreshToken
5560 ) {
5661 let headers = headers. merging ( Configuration . defaultHeaders) { l, _ in l }
5762
@@ -64,6 +69,7 @@ extension AuthClient {
6469 self . encoder = encoder
6570 self . decoder = decoder
6671 self . fetch = fetch
72+ self . autoRefreshToken = autoRefreshToken
6773 }
6874 }
6975
@@ -79,6 +85,7 @@ extension AuthClient {
7985 /// - encoder: The JSON encoder to use for encoding requests.
8086 /// - decoder: The JSON decoder to use for decoding responses.
8187 /// - fetch: The asynchronous fetch handler for network requests.
88+ /// - autoRefreshToken: Set to `true` if you want to automatically refresh the token before expiring.
8289 public convenience init (
8390 url: URL ,
8491 headers: [ String : String ] = [ : ] ,
@@ -88,7 +95,8 @@ extension AuthClient {
8895 logger: ( any SupabaseLogger ) ? = nil ,
8996 encoder: JSONEncoder = AuthClient . Configuration. jsonEncoder,
9097 decoder: JSONDecoder = AuthClient . Configuration. jsonDecoder,
91- fetch: @escaping FetchHandler = { try await URLSession . shared. data ( for: $0) }
98+ fetch: @escaping FetchHandler = { try await URLSession . shared. data ( for: $0) } ,
99+ autoRefreshToken: Bool = AuthClient . Configuration. defaultAutoRefreshToken
92100 ) {
93101 self . init (
94102 configuration: Configuration (
@@ -100,7 +108,8 @@ extension AuthClient {
100108 logger: logger,
101109 encoder: encoder,
102110 decoder: decoder,
103- fetch: fetch
111+ fetch: fetch,
112+ autoRefreshToken: autoRefreshToken
104113 )
105114 )
106115 }
0 commit comments