From 4f5bd5083dfe96041700b6bbab12e912766571bd Mon Sep 17 00:00:00 2001 From: Kevin McKee Date: Sun, 13 Jul 2025 14:37:48 -0700 Subject: [PATCH 1/9] WIP --- .../Extensions/URLRequest+Extensions.swift | 1 - Sources/OAuthKit/OAuth+Provider.swift | 10 ++- Sources/OAuthKit/OAuth+URLProtocol.swift | 60 +++++++++++++++++ Sources/OAuthKit/OAuth.swift | 5 ++ .../OAuthKit/OAuthKit.docc/GettingStarted.md | 2 +- Tests/OAuthKitTests/OAuthTests.swift | 67 +++++++++++++++++++ 6 files changed, 142 insertions(+), 3 deletions(-) create mode 100644 Sources/OAuthKit/OAuth+URLProtocol.swift diff --git a/Sources/OAuthKit/Extensions/URLRequest+Extensions.swift b/Sources/OAuthKit/Extensions/URLRequest+Extensions.swift index af5e2b6..c08d39a 100644 --- a/Sources/OAuthKit/Extensions/URLRequest+Extensions.swift +++ b/Sources/OAuthKit/Extensions/URLRequest+Extensions.swift @@ -13,7 +13,6 @@ public extension URLRequest { /// Attempts to set the authorization header using the auth token. /// - Parameter auth: the oauth authorization - @MainActor mutating func addAuthorization(auth: OAuth.Authorization) { addValue("\(auth.token.type) \(auth.token.accessToken)", forHTTPHeaderField: authHeader) } diff --git a/Sources/OAuthKit/OAuth+Provider.swift b/Sources/OAuthKit/OAuth+Provider.swift index 286e2c2..129195d 100644 --- a/Sources/OAuthKit/OAuth+Provider.swift +++ b/Sources/OAuthKit/OAuth+Provider.swift @@ -40,6 +40,9 @@ extension OAuth { public var customUserAgent: String? /// Enables provider debugging. Off by default. public var debug: Bool + /// An optional regex that can be used in conjuction with the ``OAuth/URLProtocol`` class to intercept outbound requests + /// and inject an `Authorization: Bearer <>` header into a request. + public var authorizationPattern: String? /// The coding keys. enum CodingKeys: String, CodingKey { @@ -55,6 +58,7 @@ extension OAuth { case encodeHttpBody case customUserAgent case debug + case authorizationPattern } /// Public initializer. @@ -71,6 +75,7 @@ extension OAuth { /// - encodeHttpBody: If the provider should encode the access token parameters into the http body (true by default) /// - customUserAgent: The custom user agent to send with browser requests. /// - debug: Boolean to pass debugging into to the standard output (false by default) + /// - authorizationPattern: a regex pattern used to automatically match outbound url requests that should have authorization headers added public init(id: String, icon: URL? = nil, authorizationURL: URL, @@ -82,7 +87,8 @@ extension OAuth { scope: [String]? = nil, encodeHttpBody: Bool = true, customUserAgent: String? = nil, - debug: Bool = false) { + debug: Bool = false, + authorizationPattern: String? = nil) { self.id = id self.icon = icon self.authorizationURL = authorizationURL @@ -95,6 +101,7 @@ extension OAuth { self.encodeHttpBody = encodeHttpBody self.customUserAgent = customUserAgent self.debug = debug + self.authorizationPattern = authorizationPattern } /// Custom decoder initializer. @@ -114,6 +121,7 @@ extension OAuth { encodeHttpBody = try container.decodeIfPresent(Bool.self, forKey: .encodeHttpBody) ?? true customUserAgent = try container.decodeIfPresent(String.self, forKey: .customUserAgent) debug = try container.decodeIfPresent(Bool.self, forKey: .debug) ?? false + authorizationPattern = try container.decodeIfPresent(String.self, forKey: .authorizationPattern) } } } diff --git a/Sources/OAuthKit/OAuth+URLProtocol.swift b/Sources/OAuthKit/OAuth+URLProtocol.swift new file mode 100644 index 0000000..3e7eab1 --- /dev/null +++ b/Sources/OAuthKit/OAuth+URLProtocol.swift @@ -0,0 +1,60 @@ +// +// OAuth+URLProtocol.swift +// OAuthKit +// +// Created by Kevin McKee +// + +import Foundation + +extension OAuth { + + /// A custom `URLProtocol` that can be registered with an `URLSessionConfiguration` and used to automatically inject + /// `Authorization: Bearer <>` headers into outbound HTTP URLRequests. + public class URLProtocol: Foundation.URLProtocol { + + nonisolated(unsafe) private static var authorizations: [OAuth.Provider: OAuth.Authorization] = .init() + + /// Adds an authorization for the given provider that can be used inject `Authorization: Bearer <>` headers into a request. + /// - Parameters: + /// - authorization: the authorization issued by the provider + /// - provider: the provider + @MainActor + public class func addAuthorization(_ authorization: OAuth.Authorization, for provider: OAuth.Provider) { + guard let _ = provider.authorizationPattern else { return } + authorizations[provider] = authorization + } + + /// Determines whether this protocol can handle the given request. + /// - Parameter request: the request to handle + /// - Returns: always true + override public class func canInit(with request: URLRequest) -> Bool { + guard let url = request.url, authorizations.isNotEmpty else { return false } + for (provider, _) in authorizations { + guard let pattern = provider.authorizationPattern else { continue } + if url.absoluteString.range(of: pattern, options: .regularExpression) != nil { + return true + } + } + return false + } + + /// Returns the canonical version of the given request. + /// - Parameter request: the request + /// - Returns: the canonical version of the given request. + override public class func canonicalRequest(for request: URLRequest) -> URLRequest { + guard let url = request.url, authorizations.isNotEmpty else { return request } + for (provider, auth) in authorizations { + guard let pattern = provider.authorizationPattern else { continue } + if url.absoluteString.range(of: pattern, options: .regularExpression) != nil { + var canonicalRequest = request + canonicalRequest.addAuthorization(auth: auth) + return canonicalRequest + } + } + return request + } + } +} + + diff --git a/Sources/OAuthKit/OAuth.swift b/Sources/OAuthKit/OAuth.swift index 2b6bd12..f65e5ba 100644 --- a/Sources/OAuthKit/OAuth.swift +++ b/Sources/OAuthKit/OAuth.swift @@ -286,6 +286,11 @@ private extension OAuth { self.state = state } + func updateProtocol(provider: Provider, authorization: Authorization) { + // Add the authorization to the OAuth.URLProtocol + URLProtocol.addAuthorization(authorization, for: provider) + } + /// Schedules the provider to be polled for authorization with the specified device token. /// - Parameters: /// - provider: the oauth provider diff --git a/Sources/OAuthKit/OAuthKit.docc/GettingStarted.md b/Sources/OAuthKit/OAuthKit.docc/GettingStarted.md index ed95bfd..fdf94db 100644 --- a/Sources/OAuthKit/OAuthKit.docc/GettingStarted.md +++ b/Sources/OAuthKit/OAuthKit.docc/GettingStarted.md @@ -151,7 +151,7 @@ func handle(state: OAuth.State) { ``` Once the user has successfully authorized with the ``OAuth/Provider``, the ``OAuth/state`` will move to an ``OAuth/State/authorized(_:_:)`` state. You can then automaticaly close the ``OAWebView`` window in your SwiftUI application. -> Tip: Once authorized, a ``OAuth/Authorization/token`` will be inserted into the user's Keychain that can be used in subsequent API requests by inserting the `Authorization` header into an ``Foundation/URLRequest`` via ``OAuthKit/Foundation/URLRequest/addAuthorization(auth:)`` . +> Tip: Once authorized, a ``OAuth/Authorization/token`` will be inserted into the user's Keychain that can be used in subsequent API requests by inserting the `Authorization` header into an `URLRequest` via ``OAuthKit/Foundation/URLRequest/addAuthorization(auth:)`` . ## Presenting Device Codes (tvOS and watchOS) OAuthKit also supports the [OAuth 2.0 Device Code Flow Grant](https://alexbilbie.github.io/2016/04/oauth-2-device-flow-grant/), which is used by apps that don't have access to a web browser (like tvOS or watchOS). To leverage OAuthKit in tvOS or watchOS apps, simply add the `deviceCodeURL` to your ``OAuth/Provider`` and start an ``OAuth/authorize(provider:grantType:)`` flow with the ``OAuth/GrantType/deviceCode`` grantType. diff --git a/Tests/OAuthKitTests/OAuthTests.swift b/Tests/OAuthKitTests/OAuthTests.swift index 28a5cd7..10b2ab0 100644 --- a/Tests/OAuthKitTests/OAuthTests.swift +++ b/Tests/OAuthKitTests/OAuthTests.swift @@ -420,6 +420,73 @@ final class OAuthTests { let random = OAuth.secureRandom() #expect(random.count >= 43) } + + /// Tests the OAuth URLProtocol Authorization Request Matches + @Test("OAuth Provider Authorization Request Matches") + func whenMatchingAuthorizationRequests() async throws { + + // Provider that matches patterns for adding authorization headers + let provider: OAuth.Provider = + .init(id: .secureRandom(), + authorizationURL: URL(string: "https://example.com/auth")!, + accessTokenURL: URL(string: "https://example.com/token")!, + clientID: .secureRandom(), + clientSecret: .secureRandom(), + authorizationPattern: "(example.com|example.org)" + ) + + let token: OAuth.Token = .init(accessToken: .secureRandom(), + refreshToken: nil, + expiresIn: 3600, + scope: nil, + type: "Bearer") + let auth: OAuth.Authorization = .init(issuer: provider.id, token: token) + OAuth.URLProtocol.addAuthorization(auth, for: provider) + + var urls: [String] = [ + "https://api.example.com/endpoint", + "https://api.example.org/endpoint", + "https://www.example.com/secure", + ] + + // Success handling + for urlString in urls { + let request: URLRequest = .init(url: URL(string: urlString)!) + let canHandle = OAuth.URLProtocol.canInit(with: request) + #expect(canHandle == true) + + let canonicalRequest = OAuth.URLProtocol.canonicalRequest(for: request) + let authorizationHeader = canonicalRequest.value(forHTTPHeaderField: "Authorization") + #expect(authorizationHeader == "\(token.type) \(token.accessToken)") + } + + // Provider that doesn't do any pattern matching for adding authorization headers + let provider2: OAuth.Provider = + .init(id: .secureRandom(), + authorizationURL: URL(string: "https://example.com/auth")!, + accessTokenURL: URL(string: "https://example.com/token")!, + clientID: .secureRandom(), + clientSecret: .secureRandom() + ) + OAuth.URLProtocol.addAuthorization(auth, for: provider2) + + urls = [ + "https://api.github.com/endpoint", + "https://github.com/codefiesta", + ] + // Unmatched expectations + for urlString in urls { + let request: URLRequest = .init(url: URL(string: urlString)!) + let canHandle = OAuth.URLProtocol.canInit(with: request) + #expect(canHandle == false) + + let canonicalRequest = OAuth.URLProtocol.canonicalRequest(for: request) + let authorizationHeader = canonicalRequest.value(forHTTPHeaderField: "Authorization") + #expect(authorizationHeader == nil) + } + + + } /// Streams the oauth status until we receive an authorization. /// This should only be used on test methods that expect an authorization to be inserted into the keychain. From 036bb384d2d9efff80f21a815e563ef64c38995b Mon Sep 17 00:00:00 2001 From: Kevin McKee Date: Mon, 14 Jul 2025 10:43:29 -0700 Subject: [PATCH 2/9] WIP --- Sources/OAuthKit/OAuth+Provider.swift | 2 +- Sources/OAuthKit/OAuth+URLProtocol.swift | 28 ++++++++-- Sources/OAuthKit/OAuth.swift | 11 +++- .../OAuthKit.docc/Extensions/OAuth.md | 3 + .../OAuthKit.docc/Extensions/URLProtocol.md | 47 ++++++++++++++++ Tests/OAuthKitTests/CodableTests.swift | 3 +- Tests/OAuthKitTests/OAuthTests.swift | 55 +++++++++++++++---- 7 files changed, 127 insertions(+), 22 deletions(-) create mode 100644 Sources/OAuthKit/OAuthKit.docc/Extensions/URLProtocol.md diff --git a/Sources/OAuthKit/OAuth+Provider.swift b/Sources/OAuthKit/OAuth+Provider.swift index 129195d..9aff6b2 100644 --- a/Sources/OAuthKit/OAuth+Provider.swift +++ b/Sources/OAuthKit/OAuth+Provider.swift @@ -41,7 +41,7 @@ extension OAuth { /// Enables provider debugging. Off by default. public var debug: Bool /// An optional regex that can be used in conjuction with the ``OAuth/URLProtocol`` class to intercept outbound requests - /// and inject an `Authorization: Bearer <>` header into a request. + /// and inject an `Authorization: Bearer <>` header into a request. public var authorizationPattern: String? /// The coding keys. diff --git a/Sources/OAuthKit/OAuth+URLProtocol.swift b/Sources/OAuthKit/OAuth+URLProtocol.swift index 3e7eab1..6204e65 100644 --- a/Sources/OAuthKit/OAuth+URLProtocol.swift +++ b/Sources/OAuthKit/OAuth+URLProtocol.swift @@ -8,13 +8,13 @@ import Foundation extension OAuth { - - /// A custom `URLProtocol` that can be registered with an `URLSessionConfiguration` and used to automatically inject - /// `Authorization: Bearer <>` headers into outbound HTTP URLRequests. + + /// A custom `URLProtocol` that can be registered with any `URLSessionConfiguration` that will automatically inject + /// `Authorization: Bearer <>` headers into outbound HTTP URLRequests based on ``Provider/authorizationPattern``. public class URLProtocol: Foundation.URLProtocol { nonisolated(unsafe) private static var authorizations: [OAuth.Provider: OAuth.Authorization] = .init() - + /// Adds an authorization for the given provider that can be used inject `Authorization: Bearer <>` headers into a request. /// - Parameters: /// - authorization: the authorization issued by the provider @@ -24,11 +24,29 @@ extension OAuth { guard let _ = provider.authorizationPattern else { return } authorizations[provider] = authorization } - + + /// Removes authorizations for the specified provider. + /// - Parameter provider: the provider to remove authorization for + @MainActor + public class func removeAuthorization(for provider: OAuth.Provider) { + authorizations.removeValue(forKey: provider) + } + + /// Clears all authorizations out of the protocol. + @MainActor + public class func clear() { + authorizations.removeAll() + } + /// Determines whether this protocol can handle the given request. /// - Parameter request: the request to handle /// - Returns: always true override public class func canInit(with request: URLRequest) -> Bool { + // Remove any expired authorizations + let expiredEntries = authorizations.filter{ $0.value.isExpired } + for expired in expiredEntries { + authorizations.removeValue(forKey: expired.key) + } guard let url = request.url, authorizations.isNotEmpty else { return false } for (provider, _) in authorizations { guard let pattern = provider.authorizationPattern else { continue } diff --git a/Sources/OAuthKit/OAuth.swift b/Sources/OAuthKit/OAuth.swift index f65e5ba..526b18e 100644 --- a/Sources/OAuthKit/OAuth.swift +++ b/Sources/OAuthKit/OAuth.swift @@ -157,6 +157,7 @@ public extension OAuth { func clear() { debugPrint("⚠️ [Clearing oauth state]") keychain.clear() + URLProtocol.clear() state = .empty } } @@ -277,6 +278,7 @@ private extension OAuth { func publish(state: State) { switch state { case .authorized(let provider, let auth): + addAuthorization(provider: provider, authorization: auth) schedule(provider: provider, auth: auth) case .receivedDeviceCode(let provider, let deviceCode): schedule(provider: provider, deviceCode: deviceCode) @@ -286,11 +288,14 @@ private extension OAuth { self.state = state } - func updateProtocol(provider: Provider, authorization: Authorization) { - // Add the authorization to the OAuth.URLProtocol + /// Adds a received authorization to the ``OAuth/URLProtocol`` class. + /// - Parameters: + /// - provider: the provider + /// - authorization: the authorization issued by the provider + func addAuthorization(provider: Provider, authorization: Authorization) { URLProtocol.addAuthorization(authorization, for: provider) } - + /// Schedules the provider to be polled for authorization with the specified device token. /// - Parameters: /// - provider: the oauth provider diff --git a/Sources/OAuthKit/OAuthKit.docc/Extensions/OAuth.md b/Sources/OAuthKit/OAuthKit.docc/Extensions/OAuth.md index c83e108..4884944 100644 --- a/Sources/OAuthKit/OAuthKit.docc/Extensions/OAuth.md +++ b/Sources/OAuthKit/OAuthKit.docc/Extensions/OAuth.md @@ -48,3 +48,6 @@ let oauth: OAuth = .init(.module, options: options) - ``state`` - ``providers`` + +### OAuth Authorization Headers +- ``OAuthKit/OAuth/URLProtocol`` diff --git a/Sources/OAuthKit/OAuthKit.docc/Extensions/URLProtocol.md b/Sources/OAuthKit/OAuthKit.docc/Extensions/URLProtocol.md new file mode 100644 index 0000000..50ca0a5 --- /dev/null +++ b/Sources/OAuthKit/OAuthKit.docc/Extensions/URLProtocol.md @@ -0,0 +1,47 @@ +# ``OAuthKit/OAuth/URLProtocol`` +@Metadata { + @Available(iOS, introduced: "18.0") + @Available(macOS, introduced: "15.0") + @Available(tvOS, introduced: "18.0") + @Available(visionOS, introduced: "2.0") + @Available(watchOS, introduced: "11.0") +} + +## Overview +The URLProtocol can be registered with any `URLSessionConfiguration` and will automatically inject `Authorization` headers into outbound HTTP URLRequests if patterns are matched. The following is an example of using the `OAuth.URLProtocol` with [GitHub](https://docs.github.com/en/rest). + +```swift +import OAuthKit + +// 1) The app registers the URLProtocol with the an session it uses to communicate with GitHub rest endpoints +let configuration: URLSessionConfiguration = .ephemeral +configuration.protocolClasses = [OAuth.URLProtocl.self] +let urlSession: URLSession = .init(configuration: configuration) + +// 2) Create a GitHub Provider that matches all rest endpoint patterns of `api.github.com` HTTP URLRequest. +let provider: OAuth.Provider = .init( + id: "GitHub", + authorizationURL: URL(string: "https://github.com/login/oauth/authorize"), + accessTokenURL: URL(string: "https://github.com/login/oauth/access_token"), + clientID: "CLIENT_ID", + clientSecret: "CLIENT_SECRET", + authorizationPattern: "api.github.com" +) + +// 3) Authorize the Github Provider for an access token and once an authorization +// is received, the ``OAuth/Authorization/token`` will be added to the `OAuth.URLProtocol` +let oauth: OAuth = .init(providers: [provider]) +oauth.authorize(provider: provider) + +// 4) The app makes an API request to any GitHub REST endpoint with the URLSession and it will automatically include +// the necessary `Authorization: Bearer <>` header in any outbound HTTP URLRequests to `api.github.com`. +let url: URL = .init(string: "https://api.github.com/orgs/{ORG}/repos") +let request = URLRequest(url: url) +let (data, response) = try await urlSession.data(for: request) + +// Decode data from GitHub ... + +``` + +- SeeAlso: +[Making Authenticated Requests](https://www.oauth.com/oauth2-servers/making-authenticated-requests/) diff --git a/Tests/OAuthKitTests/CodableTests.swift b/Tests/OAuthKitTests/CodableTests.swift index a0b5403..b8ea222 100644 --- a/Tests/OAuthKitTests/CodableTests.swift +++ b/Tests/OAuthKitTests/CodableTests.swift @@ -25,7 +25,8 @@ struct CodableTests { clientSecret: "CLIENT_SECRET", scope: ["email"], customUserAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Safari/605.1.15", - debug: true) + debug: true, + authorizationPattern: "github.com") let data = try encoder.encode(provider) let decoded: OAuth.Provider = try decoder.decode(OAuth.Provider.self, from: data) diff --git a/Tests/OAuthKitTests/OAuthTests.swift b/Tests/OAuthKitTests/OAuthTests.swift index 10b2ab0..09c9150 100644 --- a/Tests/OAuthKitTests/OAuthTests.swift +++ b/Tests/OAuthKitTests/OAuthTests.swift @@ -420,11 +420,11 @@ final class OAuthTests { let random = OAuth.secureRandom() #expect(random.count >= 43) } - + /// Tests the OAuth URLProtocol Authorization Request Matches @Test("OAuth Provider Authorization Request Matches") func whenMatchingAuthorizationRequests() async throws { - + // Provider that matches patterns for adding authorization headers let provider: OAuth.Provider = .init(id: .secureRandom(), @@ -434,7 +434,7 @@ final class OAuthTests { clientSecret: .secureRandom(), authorizationPattern: "(example.com|example.org)" ) - + let token: OAuth.Token = .init(accessToken: .secureRandom(), refreshToken: nil, expiresIn: 3600, @@ -442,14 +442,14 @@ final class OAuthTests { type: "Bearer") let auth: OAuth.Authorization = .init(issuer: provider.id, token: token) OAuth.URLProtocol.addAuthorization(auth, for: provider) - + var urls: [String] = [ "https://api.example.com/endpoint", "https://api.example.org/endpoint", "https://www.example.com/secure", ] - - // Success handling + + // 1) Success handling for urlString in urls { let request: URLRequest = .init(url: URL(string: urlString)!) let canHandle = OAuth.URLProtocol.canInit(with: request) @@ -459,8 +459,41 @@ final class OAuthTests { let authorizationHeader = canonicalRequest.value(forHTTPHeaderField: "Authorization") #expect(authorizationHeader == "\(token.type) \(token.accessToken)") } - - // Provider that doesn't do any pattern matching for adding authorization headers + + // 2) Expired authorization + let expiredToken: OAuth.Token = .init(accessToken: .secureRandom(), + refreshToken: nil, + expiresIn: 0, + scope: nil, + type: "Bearer") + let expiredAuth: OAuth.Authorization = .init(issuer: provider.id, token: expiredToken) + OAuth.URLProtocol.addAuthorization(expiredAuth, for: provider) + + for urlString in urls { + let request: URLRequest = .init(url: URL(string: urlString)!) + let canHandle = OAuth.URLProtocol.canInit(with: request) + #expect(canHandle == false) + + let canonicalRequest = OAuth.URLProtocol.canonicalRequest(for: request) + let authorizationHeader = canonicalRequest.value(forHTTPHeaderField: "Authorization") + #expect(authorizationHeader == nil) + } + + // 3) Removed authorization + OAuth.URLProtocol.removeAuthorization(for: provider) + + for urlString in urls { + let request: URLRequest = .init(url: URL(string: urlString)!) + let canHandle = OAuth.URLProtocol.canInit(with: request) + #expect(canHandle == false) + + let canonicalRequest = OAuth.URLProtocol.canonicalRequest(for: request) + let authorizationHeader = canonicalRequest.value(forHTTPHeaderField: "Authorization") + #expect(authorizationHeader == nil) + } + + + // 4) No pattern matching let provider2: OAuth.Provider = .init(id: .secureRandom(), authorizationURL: URL(string: "https://example.com/auth")!, @@ -469,12 +502,12 @@ final class OAuthTests { clientSecret: .secureRandom() ) OAuth.URLProtocol.addAuthorization(auth, for: provider2) - + urls = [ "https://api.github.com/endpoint", "https://github.com/codefiesta", ] - // Unmatched expectations + for urlString in urls { let request: URLRequest = .init(url: URL(string: urlString)!) let canHandle = OAuth.URLProtocol.canInit(with: request) @@ -484,8 +517,6 @@ final class OAuthTests { let authorizationHeader = canonicalRequest.value(forHTTPHeaderField: "Authorization") #expect(authorizationHeader == nil) } - - } /// Streams the oauth status until we receive an authorization. From b4652677e67ba8a620dfaa993a4b5b7a12e207b1 Mon Sep 17 00:00:00 2001 From: Kevin McKee Date: Tue, 15 Jul 2025 09:02:33 -0700 Subject: [PATCH 3/9] WIP --- .../OAuthKit.docc/Extensions/URLProtocol.md | 35 ++------------- Sources/OAuthKit/OAuthKit.docc/OAuthKit.md | 6 +++ .../Resources/tutorial-card@2x.jpg | Bin 0 -> 274240 bytes .../flows-states-step-1.swift | 2 + .../url-protocol-step-1.swift | 4 ++ .../url-protocol-step-2.swift | 14 ++++++ .../url-protocol-step-3.swift | 13 ++++++ .../url-protocol-step-4.swift | 7 +++ .../Tutorials/FlowsAndStates.tutorial | 37 ++++++++++++++++ .../Tutorials/TableOfContents.tutorial | 30 +++++++++++++ .../Tutorials/URLProtocol.tutorial | 40 ++++++++++++++++++ 11 files changed, 157 insertions(+), 31 deletions(-) create mode 100644 Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-card@2x.jpg create mode 100644 Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-1.swift create mode 100644 Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/url-protocol-step-1.swift create mode 100644 Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/url-protocol-step-2.swift create mode 100644 Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/url-protocol-step-3.swift create mode 100644 Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/url-protocol-step-4.swift create mode 100644 Sources/OAuthKit/OAuthKit.docc/Tutorials/FlowsAndStates.tutorial create mode 100644 Sources/OAuthKit/OAuthKit.docc/Tutorials/TableOfContents.tutorial create mode 100644 Sources/OAuthKit/OAuthKit.docc/Tutorials/URLProtocol.tutorial diff --git a/Sources/OAuthKit/OAuthKit.docc/Extensions/URLProtocol.md b/Sources/OAuthKit/OAuthKit.docc/Extensions/URLProtocol.md index 50ca0a5..7e0924c 100644 --- a/Sources/OAuthKit/OAuthKit.docc/Extensions/URLProtocol.md +++ b/Sources/OAuthKit/OAuthKit.docc/Extensions/URLProtocol.md @@ -10,38 +10,11 @@ ## Overview The URLProtocol can be registered with any `URLSessionConfiguration` and will automatically inject `Authorization` headers into outbound HTTP URLRequests if patterns are matched. The following is an example of using the `OAuth.URLProtocol` with [GitHub](https://docs.github.com/en/rest). -```swift -import OAuthKit +### Tutorials -// 1) The app registers the URLProtocol with the an session it uses to communicate with GitHub rest endpoints -let configuration: URLSessionConfiguration = .ephemeral -configuration.protocolClasses = [OAuth.URLProtocl.self] -let urlSession: URLSession = .init(configuration: configuration) - -// 2) Create a GitHub Provider that matches all rest endpoint patterns of `api.github.com` HTTP URLRequest. -let provider: OAuth.Provider = .init( - id: "GitHub", - authorizationURL: URL(string: "https://github.com/login/oauth/authorize"), - accessTokenURL: URL(string: "https://github.com/login/oauth/access_token"), - clientID: "CLIENT_ID", - clientSecret: "CLIENT_SECRET", - authorizationPattern: "api.github.com" -) - -// 3) Authorize the Github Provider for an access token and once an authorization -// is received, the ``OAuth/Authorization/token`` will be added to the `OAuth.URLProtocol` -let oauth: OAuth = .init(providers: [provider]) -oauth.authorize(provider: provider) - -// 4) The app makes an API request to any GitHub REST endpoint with the URLSession and it will automatically include -// the necessary `Authorization: Bearer <>` header in any outbound HTTP URLRequests to `api.github.com`. -let url: URL = .init(string: "https://api.github.com/orgs/{ORG}/repos") -let request = URLRequest(url: url) -let (data, response) = try await urlSession.data(for: request) - -// Decode data from GitHub ... - -``` +@Links(visualStyle: list) { + - +} - SeeAlso: [Making Authenticated Requests](https://www.oauth.com/oauth2-servers/making-authenticated-requests/) diff --git a/Sources/OAuthKit/OAuthKit.docc/OAuthKit.md b/Sources/OAuthKit/OAuthKit.docc/OAuthKit.md index 6338fe2..25a12f4 100644 --- a/Sources/OAuthKit/OAuthKit.docc/OAuthKit.md +++ b/Sources/OAuthKit/OAuthKit.docc/OAuthKit.md @@ -30,6 +30,12 @@ This has the advantage of avoiding direct coupling with an authorization flow, e - } +### Tutorials + +@Links(visualStyle: list) { + - +} + ## Topics ### Essentials diff --git a/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-card@2x.jpg b/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-card@2x.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9265f48a88e75bde86a065c3c364de05cc497552 GIT binary patch literal 274240 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%0DhBYf( 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

RSXzk+~#nN|)n_l!^Jq|8S|3WiC-COr|ZQ6fj z9&+0VC3i|HbRtaBFeixhAr1aAvfWu z-7(Sx!sL)$>@W^GLL(Ebx)8LHHxKG4zeuj4)CyCG&Vw6#gI9XO5K|4FE{7HmYUSVk zi&y3}9LIee?usg#PWj=X>^6S+5%vRT%bddeI=^A>b@kAIrMD#pa9c`g<&8_JEsm+h zuYCx{#hi}I#0x8$zQn6zbBuVf`4M-UNz8F>GaB3Ll5g0M&#r)%1ThHzM6TL*6W|Z? z{-+ylI@c4uw?VV}v_x&qznyr;yTr)dr~HxRB^fM(I|?2`I&Es|XB&rOSt>JEX?WgE zpl?oh)@>i> z7{JAV6~#~!OC^0iWMrJGEMAl&QTw9br16RNHCr}nCi*gQ+>dzSdwY` z_RQOFYFf-`Q76rKr$r~%$+gAgttQPJGc)&vDRU)cOmRh+rb$yXM@>ygopMVN$puMJ zm~zVnEfq)*NKDNI1yn#;=DYj;@;C%Me0c8Xy081Z&PBL6O9MVR*`7+UEMncN+EWB` ziQ~~$NBKZl+>r7d<*NIAS@lSE>{J0(S=@A-vOL+h8e6Y$w%}Bfap$TWlx<6Vlp%>3 zT)zO(jZmdG*xYb>q4@b_zYK`xhhiVh@IG(4-p;soq*2Ttgo)y_h~d z$h6Y#OussxiY%MG9UTGBKoCFx2+x0Bdbw|@CD@7xH|f33*K5FIVkqInd%WOmDN0)!Us(@Ky*29_q1Vo875=1|K^DK5Ozv_GF&M$ScKDQ)+z!3G9MgsG3EhbgEifw6 z$>Eu8G`GTK%diy$amV!n;K~en@Vw)dB|IfYsS;ezX5mrwE|QA2(?Ekl1DzV@5iF+S z+nS8D!I9k?wxQ~_W&~mkv8cd^;|;47T|{SYmwTRTM_WN6a^1sm#Q}Je+Mjsr)e&9E zC0SdDC*QP$Me=i0GzPa339fZX=K4bbAUw8c7NjZ8rsz|7A*Y?|j5T;(?Z9a3L$GlE z6Nq=`bXbeF>u~;DCznFAkCg@iT?`V}`jE-mqT37Ej)5%5T#xlsOw8rQUqszv?#gCr zM>!*yA0?2yrG)E}g}3yd-p#J+rWqYG8}L#8wWi8nmQsnWrxS^TfDkh4xxs4{NQFeBUxuJ9w2_=QMArR z@N|%nHiEKr?{ehM=6nRFU%6kXp>&s=0{iu1fjc3shQcTNiXi-DpAey=fb^37UuEQL z=aU&mPy>JBLf>l20`p+D@Xf$`aX2q@8%Uo}4tg}*>uTa#XWO|3IPrGAWgERnRKIVH zw-$g~Oeb)vy=)7r+LN3rE{v1AswO5rQ$GcE8&P7|EnH#)8|%0Xbh#!gG#TgI3%A)5 zx5EHsLYG@|4S$)v#t*RXrBHF~bi-u!@T!MavEmFng%vaoNb29BNi?E$F$5ZyDFH~6uQ(dXyVhyAW^JYHUeomO9`sQfb4cfvO2;ecWRgh~1@x{s4~Nk77t z=2=udUU1RzsH7V;>EJePT~~HiN~|Ah4-KiVl!^$sIoct7AcH_O@puP1ReSX{FhbT* zdw^5aia11S`p+HXKj3eXEbQWQjy!W}0{zxgy_IfLvMlYW9hQcetNIdh+iEuwRV@26 z88Hb?H|gxhBln+r?vSd^)haW%J9oNLJ33t^8HwLdXD+vnVv~|2q#;&+s3koI1!D0U z9Ec4D;qRCJ>jNtTX(3bmHhUk{*rlNXMmHm|(_5soTpc0*DY~s9+R^3-W$h6Ju!=q9 z*oi>d1WtF0%U>@l{Mjo;1HQ=hG0=6q|Ba+Qqg{`?$;h%^TwWfjeC>{V>N**)!1i0I zUrfr!-i|qu;$`N5Sfkl*;0G-gAcxOUfMC2KXH_$k>bZ@jk^x9dbQVo(ww*UrAaX$p z>^ttDM`Mv22vcAm7hZSlU2D+sm5)-;$MdW{`OmSc!+EyxUw&8S1-=CzK_h@Lib7wd;K3N;K{obr z8hQD%dN~?8Ct#oDVQHY09IDp&BPjPJ+kWx0wogL&IlFhl`67dn3+RYz!w_)A>ArvT zO&c3Zjk>)r5qqkGX=U!wK^p3_M7zcJK$= zCAT~oe;nlmjLYph9pI{vus5>FP(2uK=VwsXf3I)NX7x1`--&i;I}Lpk5+QSQ#K_YK zLBQj?n`y^mNV%I8o|2W!1bxspT9y&(83I{lh)}^1JjZr8I$sQ5f6>iy4x2gEN?Q?| z8z3_ReqJ?90UQS+i-Oqj8w@bVcSz`z!@cj6`v%fVxdC%vOTV|=05k`rhUNXbG?`dM z9u9FG!%>s_f2cpc?tFFJ4r1VH@;BRA|JJo8B3%reTcwVI#+#y%J~mkQZE|O$qN6!U z+(t&59%H4554#p~RXtpunu1jX-edpztZn%OR|_qf&9+pmh;69oy-z zuo&D~UrrW!>Osi+ws|B(4!2>Pm1!UZNo6+H;}x{CBl>EAdos#==eC@%*z)5g3al6r^Cn!`5*}$7b-K7D zE%rbM&z#`n3x;&FmNzd{sjt1C9eWNUw#JvlMaBNLd4u^SniM|pkX(@I&bP!ix_dGvoVJQnFy1*kE(!ASw|f1G}-o?n(u21K%NINs4hA*^CkfEWS zjP^9Isq`b=IMmYRev`6>^kT#pi+1qpCMVbW8M&iH>Uejl>LRZxJlqEXg!jB)KKtHB zzPEo+uI^OFm57`>#PX(3t!aKLS}}FL|0ycqlgt5MHS$eko+#aYN?Yq#s>jYGS#a2^ zDF~UE8ZsF8K-k(#ILMY+|Je}|iD(N7dfV8*g(t#F106Jz6%zfxQG5?BJ(paYN%q{f zXpL|zqn%?!l->e2nHIN-AZ=s$$%9$(8p=oO{ZWo3U~l`u*ihzXsGrN2!#grV8?HS@ zoivYLfi%E$&;cS(!(=Pt_#WT)7cdR)Lyy9&CJZ#Vd6T$5;H&0S&_3i{s4m(kUXwGO zj=YM$S}b6%y0H-vl%NoXS@YY$8Boq+zyj&#)BpB71p{RnjZLLT zOKTo;O*$fT6Z=eufOp%bVKiYFji>>m@93V#;nN#MgiHVEc^63p5y2GtHrOe#D?D9EL+sO&XY zxkF)*AhO0S)Jqkh9d?FjNPxn5;p1?BVFxP)3-JEKT z4W9~@^0ws2{HI?wyNjUty7w7-)n1aE-bAgPBz@4;zQx?`63-Wqw6X#jwYtAUTYV~e zS2E>-qwn-~@$`^l^@!ktDJTK30r7H4V{+o=;v459cNu@UuUrYE)jaFNO*^>MomKp!; zj8d5Tn2J5Fxn%ud{q2X1M6g%GQC9>O97jZ0p281x6Ma?+=AM`%N|%wI@_n+J){d-j z6%P!-&4GzWmT^z^Ojy=7mA&@Yo4<`#Ub}u`&&=ZlD1d&;4A<&7m6Ergf_iZ6u+kYQ z2s$R2FzhN)4|uAAaJ0fWqoj+Vq>tLYYhDBT@vj@x`ZheOL$Jr^_AU+r=g=9@K;m9_ zh;}nRkAkY?5&E|<+^HEzYkp_nem6lm0ARwHjpx?4M=T4wgRnCbAopwp-!0^~fwS&^ zNWb7Xp4u-2PJe}dDz*_!*xz6AGHOU^5SSr1){&}(mIx{O{Zq@99c$(}XC0M{HN!#N zh=+;7En_O-0K!5|BGc%w$S+v+{LH@iidJ_rysOz`J))-*dZ)Vd+j~+^j zn+_V;5V49JbCy#z<$-IZ4GH`X4VQ@Y$MyvOJF3mGSYB~3ci?^|#*z*Y^2ixeVO+KnI=SlT zcQF!3-(i3gh?ACtsaE&61%#%m0z^rAF6F4wl!<2` zdE9LkguvIw8uLXVmN<@YQ-CvqU<26Yxk0nCS&)YXSH1#E<9F<92DVkPbfZ$BzM_O4 zLAy&V@pdi!HxBXPo)qmm3%9&_1STpl77D@x0pj_B?2?-}r{{i^Wx0Ih#N_F}yk~({ zoi02w9eibH@j=er+;3S7i!T%AAjqdJGuoMw? zD>#m>yIGXjHlu~$7?>&g@n=uocb-b?i8y6^ImT9HA=iOGZ)BD+j)g{suUwrV6(aZl z8uqE~=oxHAXQI8wo&45vWj)FM6yPBg*Y*EKP8c%lIlGlsM)q}yIW!$Ne|;8;4&jlL3RV5Y~@VO}e^$ag!MPhwtwh^Ov&H&^h#F;jj$(H4W+ z52kFifZ-wHOjDQPWY)13OOLoFN@Ofok$2De0J&*&RyiTMbp3Utc|dZg07i>TCa4DU zW>7oj*OeYLy{-FuCj&5TjU2mim+ZNB0V*5u97FIF1-95!&-FNx)Ygy9{q&o1 zI&@TRJ%#tpbRB!H(l7b7BGCx+U!7n+o$5k*cM_7xcS}owWGVA|@*iSqT>_ta-cL9S z@5cN$Tf3T2f@_ea7%_l-mOW+-`x*=de&u`1%caHlrhF*3BzYNg2-j}V{-PrC@kxc+ zF*gNvf^-)f3A^iTro2BrqKiH&$*l}sOl3|7);?w|u<%IrH@=K__vFr+$Lb@hqv`{r zAkhf*9dnnvb4zm0YH+BHnupgcEK1KjJW_Jwkl{l{%8{w$Ge?ULcfg?;rj%s&*QwU` z6Vg0PyX5Z!{r!VLpcZnk*nc`VkrQqFeB(ZqCA6dY>F@lsov2ZgTKk1el@c}^?5M;3`pO?Vru&pZp3FzkLM8IE;lYE3?3(2 zUXJ=Z!#+B^*q2-1q#hb#&2h00)!X3V#=Uom|7#Ksj8!G-Yr{a^N-4;}+hA}jL#35n zsQ4+K$Cdz=6FF}r%5t15#;&*>F{7wjSyIO=eaFlTl1_CreD6jmy11=gxYSFduc)_D z3r}qrcwe(V^kyuW{1jKVaS_H3nqMN&RP-=JVELG@GN+Cg$gG|(mPe^@*T-)S5rAsx z^iUI3`J9`0bF{V7F}1}`Q6h*Csv-|!9f3SMmV}!6eA}X0I+qQGb2kQJj?&Q(7DRbb-gZ%tCiVEw&_WI|^TqWr4jf?Ll zXDmP;mwrYUaU#*^$rc4>B1pmGXN+oBJT~npVojT9(#! z{-A_OtKKQ!s1AW_JJK z-XXA(&dkPiD2mzCATF?68Xg(kfC8Bd#8gv(NBy#uInn48f^KoI>e8#=Pn;D2$`LqE zP1HXXMzxGTqjFHZlSjGzGbwR>vshYtDWQPgsZ2>Iu~`UQQ+PJ{V%KVXHUQgYnhPj~ zCKbeFeg5s`)=MJ(s%be}c4>$PY{pQ2Hiv(5ku4U(55AvQ7}hj+YeSaAaxhOLe?cpW z-<0%-?OUR$HW&6TZ;-4ieS=AgumI?q+3XRij-ak~gb`f8{)wlDNMQ3pH|?;Z*;;Q| zo@w&Z%6^L|-Gk*UUwj}2#ttWX--8V?V6}JpVZd0>q&lcq*b?>ET+$Qf(Oim(fr6W* z<>f?Ib{#DId}6?87QtM#S^>W5eHSG}+P1uN>|3_2`0An>gm5Lcps2%f%C@>XTj{I4 zq=@|>Ok2UGRPkL~vo1sVrvvPDjcaQ3Re__3XXXlY2j~xiHx~rQ@t$!=QRmUO0c|bk z>&Z~{5$b9FhMcbZ`1cAK`w|CiHxUghO4qd~y%QaKdoYOd>-k@DZthw-$N$WcXH=}UMcT~LA z?qphj)Woy&@c-{a$=-!-%E;Yh~a8VbHOT7XwTn21J_7ZcxyG#Ucm1lpok(d2Uk6#_C-s(1Vr@ zX;qVqC2~r{Gg036ffF4iTRd12-T`#+mm2obr#0l!gP!se*pKOH=U#oM)a~)RbW8O< z6tf8}Q3C1PthBZVv2FMZ3V!+C)y$a*%R&U0(EiS82#qO>aldmL?L@iku<`QTZ}mc@ zoGVNB4whu|ngIYDPrG%^ednbniWJRoSXi!(tzv#JQD2wv*FOmo3g^B1D0fC61HAfZ zvioNaAaDwR>FV6TAhjL(T}ZTI)X4anfD_t!agtNaXfMTbWm<)1H8g4Wy)X+bS8LD_ z>B^t$q0NRclJ0P7-F}{`_mNWm1V}B@+mlT;_a%?pwR6)_enk*z8X_Ylux0rG#klf6 zqzh?;{^NQ6Iq*KUPifq^%FpBHFpoPeCg)b;1uq+UD7c4=b2fpOd*jEl-|~kRaw&;i zskKp?*yiFoDT?(y!hZVDPm}CeI(c}$EMYb|QoYZ!+x0a=avgEOEv(5NvG+jYzhAYI zHKWOgKDtMO6llgyf6tSns}4Xi zie$p<0{!8q<#!{u)PFv0{3f=1*qSf!fJin9z-Zb&9EhHoS{6J9*73`_jB)RA-;Jq_ zuKCT*>EO?)J_E~lu_;!hI?ZhK0Zg=0n^tclDSf2~MAQ=gZ&OgREt~!$L+)IpyK?ir zp=S{mQ2m@3>!ToQfMKQ);u@khsf%}b{>fY42!t0#lg#1!`c%c?8)(`|jBlZ)?n|si z>ho72w&%tzJ1$IbE%BEgcQd#$Di+4UY(Xr!wo#9#r~wUslj3%&``g>Nkw^CKSm^7( zaC)f@XZdf0S4VrP-}2DA`Zi(7G64}Y_bl_D3f*o21Ox% zV0C!e!VMpv!I=;C@Qmpz8wv`H-vvN+Q$-a>X#(mP*1p7B@j||ncI2OCk6DObOzNZh zRV*>9N@Yn>5sjfjx)kyL1Al)M zKdW$<_5R>%QU5HFy_O4-7v!@|5k?qq+3fQmEl^P^E$X8svWixYz^vdD7Ic5tc;9k zYNax9gxC-LCSpL+2;Tjmn>$_=!s-%wa5T6nlr?wD6qMUTgC|y1EL(v8;wqxNj*{gZN=Sd;Ei>~6S82&0E-O(*!|RlpEfalC z!uTh3^-@b<3er(f%);q|O?`+4FT}rgc6#so9=%VL>mv9*3Hw}tc$LebDd;is=o+7p zQHb)Ji2hH-8&_;Y#upC8XHDZWb1~2;!W}NTt%UfD_vJ>kSVlT_LozA2^-fYw$Eo=0 z;e1{l@y*ec?x@AsQl%`b15r#TL#-#=Pfk91&>9F2$;bz-@-dWY`1eK>YxNG2fAEHlMe$tzYHTCE$Cq)NY-4Rz(GwcE zi)jRj>C!vD&=+ntCxWTZoFAT4I145*;$70#hv|_y4G)DEui4d!qnMc)@`ZBuG=}BZ-fxoRpdJ zGfHWi1Qu#(k_(i0N^h?sOi<1NqZxpC!Kf_FHh{VswJ};w+)<=LvXyyV2aB9(F3z=M zjHVLtkvg=V^s%#!^eEFbb7kgwVG^Gb0bs9pR|=zfCN?E!&|f+rKm zXQh>xZEv$HQs8S_`ezXkoeW4WVxW<&*}Giawn z9(V#mJXJ;nrGCwUUf6c+z21bm?_Vt?z;07xlZfYI8_)VScML*SKs)RaLFTcbEA_9t zs&hWwjerv#CInX6kMo@aclv9@fUA>!eV5&PMHP6e{zE*%dwlk3+Wy&B@#=5krv@kk zH;EB>?%D(S0C2(EMlC90&7bc#{Cwxb-|q-$`eguG`Ghn~A=mL2qnhVyXF(bIPeWbR zXwq#MoxzV8-LB{OqARk7bd7u^e3UbLv&hz}Txj-?74ovp_s5jL`O14l>x^y3V%Fw+ zW%(6$Yzx{AKx_L4ZnX%Uo(=0+(7nlB|7i69cDDUW?Tr{$W^+JMAU#g%C@xZ+O}=tx z5U_osesTWfOPGy~*?h>jA4g8CK@Z>PZBIO8(|HT~@0jKVMe3S``zf&JIq6TVlgm9G*!1mbU1I{d8ll`bjm<{3W$=oTzwaNJ8+`h(S@&S z+aPS5))1U@r`=Z!LzNZ&@6{z`4D5_6CEi-iUe#2%WFd>*xNK?h1 zPSKH0!bs1b2-rbrC(Qc|+G|%EaniG?{K)pwt8#OGzIt0oGH#&rYUVN$(=a>~g^ z_Yc=W%jw=3`Y>ykzzHC0<=~r0EtZ$6pGJ5h2lY^Uqs`17;sV8I z0C9ExURICyPVgpQ&jT?_PRu9Zo{uGTdUw-JIF{%ml{|M;T};x|57BMD1Zs4n38JaD zp3yx7jO=8+5bL4UJ^PfUC7MvKCQ$Q8yERDtjYKC?d~TZNY1(_pbgZgmivK5}y){HX zJn9ptQI9brk|w#{q+$Fi!Pxz%z1 zAbS<$6DH{2sUf&tf$l!#KPmfSwjZU2JZ3EFLpnHnf$WweAhAeFQ^=BSy2=NAJ+nL1 zqy>)rR++je_WMOB<9hHqI)yz)D|$365~tGl-uy zf!=ri=HIU}ij}$HxoH780}}N<5)&E2T=iH5fdf+{;dn^%{YJZ`ckXL5X?y*349(+D5_ zGw)Zu_-kh3S_H4>>^@YCNnb4=y2MJqCQ3tCMK4XQe)2(@nIJ8bz{QREjL?LLl)i3D zXg7EAxA{;#*5UWY2O_B*;Q>bhC`fIhfSKBVVgwb6E8&Nt4;r%x)1AdI$>Zc2-QAOX zko683P58WWOC>bZR8t&PLxd0ydfD`#oYvk9QgZTQh_v7jT|0Vt7&(i}4E{OPPI9H3 zbSQV4l|NH-vwXEb!=o86$xpzFfxo+TrlSGwaVjI%zSHHi1^je?-TOYspscH8(Bq4yy2hCC2Wg><#snY$Z#>cUf-JsHFBkyE7rMb2+L>Jzv$C2_{rC*O`j zOpUw@dcz|kw5%DhOi<4XfwvU5ifdPPB?O=fz0bl#Syrt==g^a{atA80 z`oPVv-nyyq#mE_&5^M5em@2P*!M`0flM|L+4n>6nA9tl*2>u_;_ROKgG2$IwP`qn9 zJ#Y*llul=+j38p&{UHrM>B~AMf?}3I{}pZ3;Z@D$@~>b?YDqbSO0D{+3kMkudeJJD}gyF3mN@q&@^xm+u9-4B_U?^^iyg^w#B z9RMseTVE}F&x(&DQ;z=) zZtFVBQS2T6{JTpDB_4`^g@%%|(V$d0M?9Z9e;1z&7-OsXK_GD$;wur}UpKdJp}!>O z>k54D15DW#t8^N+%?ei1TJ-*OlYEUGSH*YpEdjf18}a-3NRheAD(s@*K6!h}Hr!u;{v@nWL+X@~)5~658dSq1J66+E z8dh$&rw8s#ds3L#U2YFJ?h3;D$}E#h$_hU^o4CHSEY!oft2+=?P~W-P-tkRI7Y@-LP4HGyD+L>nr{Vjdi6x zrH(qX_~02Jpo<+A@*88NFUL1@P7Oz1yKQcnypj!_=3ZXUb;HN;LS03^-Mh(VrWa2^ za8P}F7YR%pBBAw`erQVmL%_moN{tZMbm3R13bC%v>$vhJmoLptg|)cfeBOa>EKPu7 z-KCbf?3LyEw`9#QriX3?+k-y-o_q|wA^#4P!gMoEmo)rPz*wpO1Jz|4*ZB}ac#`2n z<}$~+_U$jI(I8;C`uU&hvkyIgZ|oGsueu%v?D!c(*e?{D8j|#~_Q$E!fCh__J8zmu zeBiFxS_lFXS8$u1K~bc~>)%_B_1Z=UrvFK;X0?jVJrjiOv!a%Z*sa|e8WGvi(bqp{ZgdM^+>>H;&e@DIT zu&kbE)+-5quvY%%%!I_3>#J4~2*EGriZB>>7dc35*qAG-gx@e+#GD)lW7f;mFpB3p zI{*^;(Z1OJM%ZhX#H)^jp*d5qt-;U6uyB($}~>MHzZ z0zV~E)-~9Cp%?;wbd?GYNqU5t*J2gd>#bpQ<+fDi&dTJN8xe%l&9>bFd9mvoEz!yOD?TD*2~vvz95!;W7QRrJklG zfIIbd##!)aq{k8o#sH&U(}Q+i9sOj?Z9*LOc@(fgDC;OG#0tG_0KyW=v_p(G$CgMNK7C3W zrO3+lk|ZmE<0gEO?%qXC7BB^RjyrSm->+7l_<%)rs1bHmX(U-*IFD?Yqb6z133W9f zq18Tp+iwKGu{_oX8z?Gei4RP3U^}!2>&tK^IIx|k>VYqy62x6PSHu>#$=T93jKrg0 zOja4C7d!2k#P_?Dh;h95aeYD%b0-F|lf?Zl0 zV4uJ)haxs#G-6g`I4HB`tUotyp;zkE$3~Y;IVU3yNA;2F8llB}hcK5RRf zVL()BXvvfjD`+qR*#_gIzxc51o{5pu%8Qtj>c08VT*J|mi(U`&zS52>HIbEzr!%S# zmDMdog9>vi2Bl6pZ#f2$#^lEY>W2{m$X=5#zWORi# zIb2^JfdQ|TTdldfa%R-o&_6oOl7UR@soqaRz=Usl+ue1NUa<1|q#&Ad_3)s!6nVIJ zP=UXVPb9}gLHE-SDrun}j_28yf?0&{v#PBX0~7FRDpu#Q-o?0sAY@{4k`Rn}HU-%x zbXi2zP81_M`gin#CG(%aMfuD0-2vW_&n~3vd@68@@jl_etREPs_(38?K=ZdC4Oa$z zRDDzKsjDGe!6AsVytl#>>_iN3V2~aLlMU7RzHalQLD*?QvJWA7z{LB5{6a#Vs!c>_ zInPwl$sgmCInxd$X?D1_qVO00V*<(U9?t17+{48iONsD0+zHrI)~(_MDgP9k45TP<+&uI&=GqZ%(O)9~*I1E|m>DTu#i&;r^hC-^@` zwH?&(i5l)BH%4{`Zal@)rOf{=`Dkuib4}rl2!HfVo!haW!@^t!C>~FSFyv3E_Zbth z<<6{m8U20sl+!s#>3{L;r_aseKi_OnrAuKyYWdLS*c??jdQ0IOhpC&=*v#1&=e^^= zmQ63oo&fahct9F$<^|I6I&H1DBcmd`jh6a=_44+>nnShZYUx&!$M9=KW{mCXYf97L zal0S_U$^_6eGTCTO0MHF;KMr#*g63LSOMt*YpKy>yo%Mjal-C$!~4UU1&t+OQ*>hb z5r4z=g>9K{@J<)v&A7_h0Y1im*?B1mkENON3qiW=pah$3IYUuJto<}Xxd{r}X>H%f z*u&58ACKJYp+_e|ii5M2IRuW2wn^{t+OMd+e0xo%JyCeNCo1wbD_Iww78m z)jpekHOfP*lEIAG-@I3Vn3IWVaj5&K`~3wV2aWLFXF+?uk>n>%TIy5<09{tEgh{VR zIqLc1Jh%gDrdGz0IF35L=5AcE@>lCXC*J}eW=!s(Q(jC-tL!P7k#3yVR4GZwrWGv2 z`x?ASI*4d5%zg(@hX+;$K-r4px!g8bu$AQe)V{s-qX z!Pc_#6Z440!vO}L#8R72;R5KtzVOSV<_)Streij&eCwxh^2{;qkKjHPpzTI6N2CA! zYA0HEO6=NWprE+JEvJK19A36Ku(*WwDpKV-iMw;U1~>M36L!C~)2@p$knR8J)g)0J z8aW6XaC~i@7l^$JjTY`y`>{)j31zl^loH>&7{q%5B7&z5!mMK>p}XmpXmjOc1l!q2 zS$Iym_Y%RPO&aXd;?e+EbrdG-{RSyB#m8Vt(rT6WsiCFk;MjNV1QFsm6iv3T>0rI~eXq-yx=<)StJg$b07ttOdL#jLfg)iW&6( zJP)^7#Vf0@|Bh?kky$k|R>xCdOGhO_0j5FQ0sdqU$?|1KX1^~Sz!r2ueN)Gn?Elzc zFHX0|;?bF#wpo??CR+LDH=0yrfJfMHQX*4QWNPv>)rSqxK25tGgCUxcXZ)Oo~cVk7lV*6R1!d(IrA0)xiQ ztD`MgNZ{+BAO~deOug(w_n?+csJF>_ZI-a9{n^jGNTq>~I9&vld%Le$61F8YS5sny zeuGpeHpjO5Phg^_RoI9D^sL?=p#r|amfoO z&K~Y@)1;vs*!#rVspQz}%NQu1WF&>WA*7$X3>v0BxRVL|K^HX9b^btNTISQUW%0@t zWs&MoTbb=f6c2;Qnc?(dOf+S&7Prh^zXnV#)lVRJdl6Y5Idl;PT^puDrHrKj!z%kxzNPN?ZGOXnG>hyM(5^K-<2egnemIwK#N$>cCXR zZ3~8cm>wy0TuMT16}=EDmg#d_M5yCx*PJYg_9-Lthy(=9+;N%wLV&v$_mNkPY=<=q zj%psSnnvPTg5 zQ`J$N7b>A8=Jy!vH`cd5nZ2FR>hnTeUt>Sai8$gt(zO497O1V)RBHO5Hp=2yh4$={ zcshg=2=u`^#D+6f`M~ykqZGbq^K|+9I+r5rR&;E7e!8p9dbW1H7xRYE49UQpSj3fx zzm{^@e#$c+51{}3>N_(^p=lQR!St$y8X6-^LC+gHbd+MpgJQK{2=s#fwWPdB8hMqW zdG74sQsCd8{4$Db-+&2Dy+5jMlRLzb_+&~*Q+>VIzsLu^s1yIu`kwa3un7Y$O?$l&HP2DB!e8`usF!+peufTz8SiQ&es`5*n86bx(oR*mhwc=&z)6 zz1CU9Lfr(VcC0b`JZ&#gCiFj7A`dpnxg^LC1QiH*3KEsL{?*d z=zHpJ5rVu~yMfwVr8>Z@;*7$2yp?ikt^@Q?;yoyFX9asJFLi&NY0 z6|Y<~s^@eSW(H{~;7&u-fDwJfyC^bhqGk*=Qmw2rU*->eOee-~u2g4e8$VW%CBmTbFS|KM41)Wo7)dh4mHZ@-S zKRn%?c$x!GL8#B%ihwEg5>CVJBbE@;E#sygj6GPr@u4B6mdz(e?5jQGB}-m?ok%T_ zhp;qt4zRZ*M8$Z_TveFr1TLQd0OU~o9w&sc(SA-6M@i<7&ly@ zb?^&FrK?z;2a8Ie%=~@>`hj59dH)2ynT>fj^7M;s&whka;@B_cMcZHbs91;CXET?o zKaf34HMqg_%O{n$F{sS+Y2$4kb62T_($jTY5489M%`C$3)C#qp zk=%2Phg2UmHxX{k9L)Wq8r<>%`#Ojbeg;{DI`yefftW>ViU}WlwBFB8I?#`-UyJr_ zi6~$k10dBOZ!iP(La7SqM}BX?O6^0SA4!a6CuXz9&1CE%v11VYIRLm)Wcc1cpuV$3 z7)ABX;9s^eVR&Dt#K-dkK;RJ!NfGxAcE0{CV{$TTGCNn;X z$fcT-I%x1>dIWzl#1wk^l%-qSUh{tSC1E?(JG89c5f&q3>~UOv8>lni={YpQ>+*!J z+@lh^!%R4XR8QqjORNu8;#TosP&6`ueZ86ER*;Z`LaJuq8+c7!YlS%PKK*c0Z+uNZ z1sLP7t(E^>=_ZLiCn8cm(P3bhhuCUf0Aeg2#0gY&&CSQ13mJ>>j0cItkTirlL!ah-pnNy=n51Kcf>)uU8X5W&G+`G+ML5&CoU%VZ7 z`JvCS0Rt3_`3x#S?X#9C2wc^Pzc6}3`V?al6<)4&KM}r7aU&N4mOyw?>;_>TWIjH9 zaw;(Kl^Z6HGZ76T(YZZecRzC;|o!*WRuSLSMR_61*v z$$)42_enO%ziw>SR8_R|BXt#YSgV_MMF5WXQtrjyJf4h$GunX>V=B(EC(C-MfPtfHVq_!Nk0 zmw3ZIjC`cI-4N*-`iBZ?R@QX(X-*@A0PO-#MV{XbryC3gtt0PG7r0~pbl%SB)b8(K z$Lb59@}R*GW?E4G_^?%bh!2xIvB60L>J@moEs|w!M z_UXKx^9y!NSL zV+CbbvANGT`95BA1MHS56hD;3ee4N*12!zMM0`=Q)i%p1s1o~6?2&)J5)letXOYJbapsK&?66M;d`1>e(4p!B9SAo4=%`RDFaUjF zoq;Iw?)o>w6$JlFwW=1NQ@6*OEE?uf9oY9fnUfa8U8A+C0)T)lvBnM(u_vAqDp;*J zc}09Nr9F$I$?$C$%suBiR101TggtUXR5zD7`muiCX$G^*S#}UEbUGu4vP9KP-&N?R zHv>0ttXIUHM(nwL3!sGR-RcM83?}CEXKWjzC&!XNNY9o4^LJlT#5-*4w-G;}m?sJ~ zFL30|)`v5;Yd78RYqxl5D(7J)pRr`uuClP0$t!GdgLe_yI+NU#xl_jBKCLR{(Git< z;E(cCHK|y9o>Is0le{tZY~X?R-0?hlU`-H+<;doq`TnxWc&HTmY}vIC{JHZX|6(9cZSI@95lq5j5|NzN~Edu__~9h~7TCusU}VRG1Y37wW~ z{f(CCk{IAnzq~;QNO+W`+F(qdg8D13vt@<{;6jou%@-#)d0o?=l+K-tkS<1_CeA1x zJX0Oqvk_GS>oQr$UM$;ce7RJ-HyBIC)gI-gve8K%aY*@FmoSuX76=6J4Uo^hhmREP zd!OrG;Ni#&9&QlaGIF)Aw(ni&rJf2jwh8n0F3wME+K7S5v6*XxegA%y;NuWG+x*ED zcFJD!C{tv)d-V<7ye)`neT`f&pk)II)L%oi01%I9uX(|UNQcXz%87W%a%8mA34$$5 z8KI%COiWNLZVLr@%ba!ekn?JS-fD#yu5$bgCD*<_L&|g{>_5$~SsdB5V5uOk=wbXp zg!0o06yftLS7>=i&ckWzgpDhfZ|kNd!_X)#A|Y)MY7k`;O}+Q5K&KA0N9Pc%Zl!B) zxta2a^e`{9rR*MeP$dL9W`I8ZwwbPY&|x6j3EYI0)a|$Ja}TdKSc}6qZe?5o8}^P) z*|g`VI$CGA;)J)|dn@*rAp)b}M8a<=a(~IXpItcQl{WTuSko!1Gd%ASi|3e+;1mt? zEz^15Oe7b2qVgkPf*!ROInAEb?N${caMhlL4KtP&r6a*g1L=R2N!^*JgL7wYBWbHx zJ}~N0di^t`sYV>2j0rhydb=Ae?brfhGg(w>g@n3MPiBO%XSgg>STm(kqWP ztsf9Sc9Idizsv3OgOXIN^~r7B6(5wW>@4Ziq}TrF)&EGwN-XlG_H~^=LtjaMxucx2 z7W6SKQF^7I-&Ob}4Z?zxvHw)G==2qetnWefQIKzA{LbK)FvnVOoTWRi3ZF(I_hLTS zpt@l1^1AbsCM!#2(?$k+l-Q+x#zMx+h+K+2CLVnqG(`^Qe|3cJByU_*3qMmIg5IdF zm{Dyr^1TgLF3&3&*ZK@&@+LC$U^@2R?>;&ks?)(|{zM;dHO%`HrLs2qECrbj_!k%I z&8=1Sf;(SmBI~4kfNI_tD98Ww9^<4uwCIUn9z?|w4JoRiTY>7E%3Req7&c_fpXJBy zxpzkW%GXvrzdSTRXV7?uIR*2K);<8dfBTOXBGp@>mQmHjFp&|8>P6AiZF|B{urOJF z4E>b+YSruMEzG&n@KYHf&cApZcOBPKoDX3pU@h1lcNG2{`(|4^asx$0S{Bp)8e6eg zex~xp5#k|&Rq>|)aIn`}H87$WnTB0`j@jzNZ3bA`C~$-=B-2;q9fdLu8>R!6sBzGn zce#F3kUXm$uB&ZXB>eybO;Mqe5IAuw1$p4$6SQc>`(KvkX>;fJL$p{J(u+^8kDUuo zKAV?S$%VcLU(J6Sc^*=`G)fBeiwLYacVw+(-~B}AzeZQ=_Y6I#q0zQ4KXP;dSA|}$ zRo2_9fOo+(YjU1`JohnX2Ee?dHchK1hv<HGeCr%%(gI%QU7#*}H3rcRbxZcLkIrsj$}Q>Lk;jF~%nK2xc=@-b6WOER|< zkxbE4gmTS&1yWK(a~A#KI>d?h?_=CB|0SoRzn`8qNUpNf|hgX%SlR}Lxs9s<#YocV8I zN{!qW^OfH9w_#JAiz{8B=`~vcHMP!q7$~IYBmL0di1EO0sho2fgAVg2?4cs3wSDw; zRoIcVLxY2qKwoWkEJKyvtD4W>jK~Y9lk1JUqJP01B*qRPl_~r&u(Rd>HKa&6KJp>3*b-r^D1->X7M>FNr>=Z zD-*GoYFR>xOHJ`Y#XUe!YYn35%xj$1-i;z(Nl`kntI}*7*mBvu!>DYxh+oznHPPkr zr>O6J7Npjv$O;$ zwrwHnRBf}n-pBp**ySYP13_forMkQ(4rkUfEbiC4-f|DLsVJl55kwedxN$icq#ob* z_ti;gOGl(eQLgh#Q4YH|E37WH$QKszD8n5`{)AU1^g+ka$0_IV!fDClpA$CKr=#k^hKafDF=XwuZb3oNj+BW4;A7SX-!2=v4C0Ld^joez_^tGLdwW#~obv#MX0OS70+LbEhrDfDJ7GuBNExyTD~c0Ezn zFR2LL^gugVE`H=Z5CH)&k0c)z3*}*V!qb%BiM%Z(icXr*@ zQ~u6uho2-(tBen@*WDGTIbtv@zE5~kwqLEe_HQujH*dI>37`7v!UAOqxli?yvy-v& z`=(2`maGjnjHaL6nyNJ$6CRZ9$4s5bu~xkNwiccvs9B=T#DyY({59ot2R6p%HvJnP zy9RM?FxEWRR)Q#Pi&t@dl)*z+<|6{^#J9s}fJkRIwb8SIme5In@_n%z7QZ<9ORkbX--?=?>AOsjzgd4(f9zI`# z%OrLXKbNn&luDDhunMoAxxg!Eo2WE%QtBEn41#%Ks666xs&ux|#x3uN(^uSsO5a8O znJ|`TWJ^$G(1KZzR>_M#<6~3KtgCH}VLtQ+wZMQ|BS%3NEq`Tl*cot?JKXC=H};mS9fTzT)4m?g9w4xX zrCp;Zoius65>w1o5T8omIdLx>Fm)5PxITuqju^Ycn{J!Lj|2fq`{c3SLutbVWR?eQz5)wiE2CVqZK`(*Ua4KZB$FUWWl{)P5AA>W2}I{}i@%tYAg zS8#+|Qx5f_cMMjPeBtR8WN3OFYIR#^sYPSY{5XLfsWM|7R zfv;ORgU))Rt@w93KF@j(hniF-U>3aoNLNCRVjEouir&tHe3bY)stYZ!q#q<~g+F^4 z2{5XOk-@vCPD-6-h2{tXaHe?HpRMFA-(jY>WEEZ#-!CA==$6)s*U&%5_H9bN{BPDq zm9LN+YRc*?(AffcOr)*aleaR;iBP-hzzS$2)a9P0H zW{!||cm=!Z#{ug#6thz0birS3_RnYhv#KuQ!mfI!EaQufU$L2$$gv;hN%F<{u=etD z!XIuq1{DFxg8>J?n?|h+VXYnubE}LEigv8%Mof^OKo|~tLlhuSsez2AXthrRhOhMA z;-=~bwigG3<_`myEAuQV{_QV{tEg(dE3MKC_+Cn+zK{}JB870wFg*@ zuCE6xMuRBZk)tl&ft(HI7!2Y?K)+bqmS-ouVu_4{l?Y-~zDmqs;M5hsaq$}|p;?D9EwKxxVOKW3EU(hcHX#`vM@SE5bn*R%gF zbKpC&!-S|qU!E$Qa9mQ@D8IJoje0W;$%Dl)JO30nB2ny03y%TSF6F+6n_K?$+$0uq7`mh$}&XiQ$H=i>jB!6K~Oy1^jnkrP0$Z>0Ia+n zO=m5Ib5BSh1ki*q!|aNs=-}9EcG@>ijm3i3mQvaE5ryu5o~$!n#f!}8*&GALo{kb_ z(?#Pa%lu=1F8*454F1KF@u_3V+7w=zswrd~!>-@IX^FBQ@NKx0VKt&tA>4SXA#sPd zc0sKo0nDN$;-Ru17tDdmKKoBw@fxT+xH?suuT&FkZ%T<-X>znYBP=+QJ~N4~aOwi5%g`&M`P(^;Wv zc`OsXYkBRBizZu4V~)rA7of9@d+BX;D|Pa9bSk`Ch|2gmpy~x4xN$;v-0!WBG^$2k zTk~~m8ihw=NIC!+V1kKa{7J~wO~v+LeUS>k-w|$k{h?` zY;6(#;;E^G;+u5}^N$42Y9*{4VioH?fKzMO$p`Az3Y`A1^Hd4rv58T}$<9H~0d9wy zCNK9(FNu@e-2&KiEkU&vr9aR;MuZPoTF> zmi^z9xr#}5nfD(!w4e0n3(HRb9e?CZ8^e}( zv-+MG6%FD&dZYm}roFIqBi)<)e;CBUKgLLZl)rNoSE2Y_Na5m}$=5zctMkz|uX44& zX{aPvIKaKQY9UJGB7aHK9HpA+4xC#6k#L4;CkfG&S{;`$nEeXLiekXkp<#ZRhWCwg zmXxdD-Y6GC6O;Nf$7eRX0uL*(G&Hi$*>)za%-XH z-OT^O{?amgX{pvd5_SI_YatSu7@36_CrUpNGJ+Kz<(TQM74ETw9(-rYU52LxM2MK0 zM5tdw75J05UWQw*I~n)=r@6SO zUvhEAby~Y4((+K5mA{>MxeJn75QwbFo7s*+u5|Og?DsR?fNQEskdkm zHJsjj+FWuiL#_%nso_9K$D< zP$co482iSRU0Egl3-{Nd;q;>9mfVn-rLyc90GW?stVG^o+e(?A(6hgt{KRt3cPX^| zI=#`^S>gnw_+VbI@Y!3(3kHu3kcoQFoqEnV5FK25m*!*6N>$+gX)u78kkK}AqHdLf z`JDaf-)z_vY+7;91eVI!Aaqs9=q&&@^{GovD-@TzCtkSl<87aGE%82m)zvv&x<_IA z;XhLkC*gSJ|?)RTz$rP&;Nw(g! zeDSN!YuB?UhR*!(BQB_4a6w%bYucI+2+NgV-ci$u2_q^S@sD0j zub;BvKW8bFT?-GbY`mHNT#8b76EpR?;g{geN4h8Vn-{Hf6!bp_5XQ;KkrEH7^T6l8 z7fmw42S(eXVyK4z^J+wc?O|46*n=rQGygbb^YKe!@`x%hWY5iHb$bLAL>}_?eDEp1 z!w|Swa;{H@p1LsZ`Ab2hf?&P!;LQig?8T$CsXR2NDgjQ3A0bH zfTnCDt!kREYjh?^H}EFJx>~vESSl;sed7x9`2aQ4X}oTx(s{-9ISWyS^AJNprG1P* z3we#(B%fxC(>0e+FlecmGI~VccILcKTCuF-wWncmNccY7`s@b!DDB`UwmAt<`~P)1 zAZ`<^EYL&C*jeD-VM5~xt1tMPfs+X(>JBkt-9zba>~T{%M;>$jf&B1rGk?t%zGT3Q%lJ9 zoDiJ}Ee*eenWRLs%!`}M_WQm{t;X4Y`~4bfo4BTS`h*=5<1XVTds4UPF__jA`)gzM zpJqJ!X|z2+67w<*L1hBALkvsFgVBW1QHa70$Z${ikGj3%bZlS-24=i!3Z@;u?R} z)h4XeST|y&-7!kj~f)pny4xLj@Ke z4ij4WNl{Ie39tNr(`U>UMzB!+VcKu>aPAi99=ut0*1R|^c z-MBv~FQ2lkoL8~>B>JlGjgk}uTNAF7D09yx@4PsYl~DY+r6EPGDW^k|jW;cH3Iur3 ziP6)Yvu+a+tBa-s#26;rA4g{z%Fh9-i*jIlf^n;RLiL%lA|DpB?Ws)t)Jx9!Ye0O) zzfwJ&PVEKR2Gg39+g$!uuub6nju^y7JH&r5&-wPJT|(ntZ+tg@BVb;V;6|>0^Mzff z$tphd*=u0H(x5WHCu6o^{wumkc8>0shHPZkrran#mswcc-dyeJ6_o2qc`noPRuHLy`0py1!Kd@X@tAd3bwncVuo!X`}|UP>8Y}Ip~m7 ziP5cA6ltza-F^6tDzCPuSku1^Vlt@m*R=hgfglzm5Nx{Mv*b@%fWa&&$wh&ew!A~6 zrOPBPI!ceM_GkhTkj(-^o~z&~sO0b<^I0J}L1GL!E`YOCj1(LocXO8Gzg*k<>S;6qO1yLA+~oz9o@RJt;G8*QHl7njv;y(aJcCjP*oHCI>t|o3?sZvM0%FT z_PWFlAhz>!a4+3BNS=PwFL}b9AB}Qn`|T-^)Q=**K8D=z@AiJQW68xWkC zck8eWf-W5}$|3}>x%clyiw@TXj=P3UYoYtw^QQO+zY6+j1L>>Jk9$!*57n^R`Fq|~ zL}lkE%M>dYdnfN;c6|&~+t3&-L^rwJ>_qGu*IGrjKy`OhPJg~UrEPF(BxW{wCSX&o znO~8zc9$Ni}LvGsyW>=1y4Wb<2&x2)zOIRk3AsX5M;OQLcXJ5>_I6= z)?ogimV7xk?qEx`Q-2}6Mqk#WSRC^jJ9#VUA4U^)A!(N988*{^x`;W>TXN0p3UwxE zhaMnNw%!l(vDNZaCn``!Dlal!-#e)oqbxCcJQc02JY z8%-g$EHfqXWJE^GJ3W<1=LmJ%24LzYsuqQcxA7RspZoT44=Jdzwj_)(!_wYd>5v*@=Fsu<1JtuZm1Yrqe4y{| z9MsqGHFIE3<5j$SCAU|aZJR9zz`?mHN#H$g*ISDn6Nzwzk8;y4ucL=@_ifyX`gsv7 zqfqpZR&Q#VI}ZWs;rE|sr@!U|v@fN|s?{Uy@zn5cRKbuwk4n%{ge7lgpY~?l`vl6X zu&T@Gqb9B8E1+SyHi$9qug6zsXymdi?#1Dt>e{NA!3XY%$cRtSXSQ?h&NfNT2*Wwe z*VsL1_k&CJ(o2r8+IN<8Ux%Bp;QLQ5jS50YDeS;ud4ZQ(eFX)JDGz%s5_%M+A;kL z_Blu#{zX}1uv7om1rwQdy>bA|gw>JwPPD-F1jcIs5{1AHIx5g!=m1~3Sff_W%8B@b zoOG&E`j$}0_{4|U#XHWJG(1ltba{7pR~k-e17@ugrJ9*XhfUpn!2sMH(LAOn3HTd5roY6Lc;`CTVWuG+N!I*iTZTPBqT z7fu+UfS6DRrUKK6e9UluA6VLL-2Vk&ij_%i-XcUd z#^kf$2K`9o_*E1~DAb^OxVz~xajEb|{9G2WNcmvcw zN&Bs3XT1XD(-5U@g_YMiWgT*TnAMt9b#CGhVTk3eQrD9clxko05g^zGtZQl1Gu!}I z4VxF!-6zXr7E^?Sj(s8LxyN+FPLDJUV3B^hiBY!Apsb)B6|727*>(_djQ&HIw@9bd?$Y_pZYD*RKotyK}F4l;blo1cq*HnTM>sq_JU? zL%Lsg_FQVNxO|x29FwoOlacApcXAGzeW?}=P?q-<3SnpF9~NBTTbHj|UYk#e`W^T$ zoqJ}fZkMyP#jm|J#B8iHofZ@@l0fnKVl+v*QEPO{Ve#gBU(+SM=}o6jl^F>}XL4b7V8Mdd3tklt)rL`3i^yKiQQG5;N@JeXy2 zv-D_u=aH;e90RRKBfeiL55}5!RIU1?-IO)m)_x%8qTBNR#Cu^Hy?Ei{LD;LZ&>3WN z;V7RS`s#uYU7=-{BUMXEgT11Op5}TCNuDqq-nm_RJVLdodYIzB-kA};QuBW7>Nvd7 zMUhksjp3b{yA-T_~9OKdHt^Wi_@&G$^ig1b(b89SHM?|^ z`ac4{hw+*z^-skhE=W=zw8tT5E|i|4Ct2t%L57>`oPHn!>1+^UD60YZ3&5Y$?Q7eXIDnN`+y#14l1b7k$!DcEiV_45hYvvN&bOHlr;eF#qo6Ft6^E_ zH19u5PI!-Qo0R85-xt=>Qzt(1g z-B5N9jdXfjd6I0UvV*Wa);gtol@S>|lDbhBGZt615yd>(^CgZ|H{&#Mwzd-LHo~jW z-15!O8g{?0YlvU%GmrOke}LL+zy!*x#BX_`7u?(>HZgRpq`Oj?_>Tj`TBe#m>2P)l2F3={uo7D}zB;KO(%f>rC|nYjhds z7g!r=4(2ij*Du$KdQHk)=`*jva0_Y_ObmMNip8d-93?wfr za=+yJW*n3zqyP2x?tI>Ll5tm;uwD7+=uyO1r8b;}aO08L0Wrc6+|*Xp>nw}GbC^@Q z>#F8L>ib*q`d@l_K?E8#<9_p!zA*%n?0WIZnA_&Y+bj8|tW&0nliAZ9C;qsv1 z(ak&JNUoL0(>~f+K0zsKX1nHO^Dpm&i0H<~S(q0Sueek5OBrHYd`ta^*&T4LU_kJr zISycYTepgHMPqle-B2xo`xdfW+;+zD$cGKa8setN6Hjd=cM-C8;7P1ajhVj5i-N+X z6z49aIx0X`2sT~P`A>ig783ta({3j5n~4zLsG10t+Wn0(GcS_0CkHMM5_anevL>~-{1C8jn1j{%%kQD;TOL*YFh7ft0v(np=h{hUN}O+qs5cT0`r$(lez z8%ah#Sdc@yaJQ%9KWP?(q#j4p;U#P$qGsEFVbu)p6C5n)p%Jvuc^Ke{D#WKC{cIEI zza3&P@a36)u~Y7H9-WWMSb$ZWur(gWH~1SlfW+%rT$!n1Q0^TVW%I&6|H_ZfOU|od;zv8*f*3sh)D8wtLKiVccN^R($MyCs8-3(Ed z*!Z47o4n8f*|>)z-%(!2LkVinN*j0E{g9_5!@X`DyOu)$_r{`Xd1qleJ?f=Attt2g z3s2^S3VNgbjqvbgK-MfD0+rT|{;sj0H^@m4JcN#LMJGI%;LT961lqX;f$Gu4|A0-1 zV)2oP7mJe}6Xf$w^lt|$ANEhPKC0dbvbF{R!Z%{f$m=71X+Xbd$Q#j;?sNhem^#nk zlW9j5#YWC`w@ylr-d`cjFRSI<%X)VeASIE?ZiK3s4&Jm{zt50U?7ReH7Ko4%U$9dIFc z1vA7TGt81N_SO%vgC=Tdh1->QbBdck3lO{l!M64r$$P4?frhfx26;D- zk6yoY!wu<4OZ^S_Zy$HR+lE}Y@#Sju;*CzO>3L~fEA8PCj!M< zv>y%$-p#79=4Ql`d_?}f#&Fv^!0v%rdA;7}+RJBaf1KU$8ZW%ZBSpB{cB2XO-QelJ zLRTa41{O!@Snq$JnYhgwZSV%-C?eYgTqqZ@?^5-AR2=E6#fm-^3<&H*9eLx3Z&NHl zJ#NTPBZQThFJlapZ-Fbgd%W^W*TGPqzO>}5mcTNnYNritqqGNlo*hGZ)L~5%0Qoy_ zjf32PXr5=U6_x4mbGP9w>n{v+h(o}ZoLrT_m5SM_k-Zvq`5F&h@@8GtGG=^y$g_}$ zD$iS?0~k4ZpZ}(xH#gO%h(4$e9||{^tplI>05IqJ>9z(|QtTl8KRBfH67CdLpi!Zu zyVq^Wk_u}@7fb1a13+@iw)x0q2c6b7dB#jcOF|*O#b1c%J z=VMPs*jVvQbVYHGk76|C3kTkhU$$UT708|u$kw+thvQOsn8+Yb8-?av+0uOY+k~QU z3&%X<0BDbe)lIm;H6Nx5z3@ijJNTI%C(Y+k^zJ|M4Fw9*CG`S&>t26D2gA=3Xw3+E z0vKe?7m#K%Do0yFOZw+de0o>$hBHBK$Bt=nsj(`|?Dh%OWTQ|%-{*?7syb%z8*ig+_M|d(dIVMi3JU*$~H0?n^>7(=YQ}F9yk~#2Oqj{c{~`|^k;oar1u{( zjdyNKK&Zjk__7pb~V!z zh=a&M*5}Pat9<9cF0J939E}}RR2R5Pvguhs@k4cn3j^grLN zD3dP_Gi}cI;^s=k@!Z;}06^FGY8WHUdMnM@I)E+ zJU#R4L+fT|>wUUFigDxHbCfuV`7D~==ysm$~?hn0Z=q+;Es-7`*3Ld}Z z<=K17`&Up~rUL_3I+hy_B!xib)fay-wx)p-K`-1zdLW!wF|Jftd3f$!-8lQOd{Lm{ zd4J85sjWZX*ZtC(oLP#MgbZ`Ra2&X9_1Lw^gkL+(cAU1pDs8wsP5V>m)~z=>l+q;e zyTTefiZA{+M-Zpa^9;dgdvAVP;o`cts4zD zdB7c!OU|Kfk(nTC&?z<6J0=X!JH)q28W_c}a?u(xTtV8yiK5@Tx6E7S4H-MS6vR3I z@fzKDnA}xPk*jxjTvUQPFS)5nGX50@mk8hEldf>?BlF6c)-%%~y>1PJaz1dR0ZU3tf+mAay9UZc|AO9ILyQ6v3pPRc5?%|m&K ztQ*RWxus`^Uo2NhitIM<`j0BohsxgmaK6plzhT$j_6>(1DXzrmK6DOGG zmQL8xSg5^##af_m{ereXaDT(gZ>jj^YTuyGy|FPe8xR^xVq2h{&bH#~wBzC!Rl}ep zt>SbVdLtY)i)|x|FQ|xA1<{s)lWW9?_^VRF-wF2u!5R!$EY9@Sg!be>?gduU>2d`t z4GuMosoMKZYXd({p0=1Om8tHYvf}G;xQPGais7B9ZXloYag&XT0mQR)3jFYYaW_$Q zL+kF^KaX$Vas%mnC3krV8ME`_`Av4ELsqHcQ%IK#ud|&+r}@^^Xxqhlq3umRN&2k&C@3nw4)h!B3;r9lHen@Jk<0y*%520 zn%JkPTJQ^jB+j~6@AL}4EU1Q>)MNjafiCN#L^IQf;v$L|#kJNof3h-aDogz#N%{d5 zz*<||^K?)?!iLxVI_@5qm3O0U<0qHZO{XF<#o0;@+`FSlMfzkBqIRxbSrunF?Jhlk zVjNB`CXa&3L{&nZCV`}(bwZ=TF#p5|ng12aDQ?Iq!pb7cL*w-&xi=WknI^O6ya5%F zU7R&kDrj9(PbMOh%>QHLZn640W{g^UkFGO;DN4IQkJl*6nwXYm4g&c1S^ro|S-%|5 zKx)3Ny#>v@ycd%XI@>Nn4J4Ie@BiR)$lSzV0KFI-1CiyQ+9OFv=StvdW_s?IaI#v)^vg8Pmjx17TjhGV2RU@c zf8@AOnrfoI(m3aGv-qrml43I{h%!b8HO!3LJL{V@GGRKFMFg^_8J~7iRyStza9s!E{QsBW)OgZ>#UQpQc4su zwZ~o0{~27W2V&BxmjzYh!%3wYgvOaAmnC7IMLINePGko+Gup&ulR5P1sUKrjljmrp zb3XF2>sP`L-$*fNKTopVEhe^kZKJyP?uoqJ669BhBf+bK3MsJ&bPT)Z2|=>7%6!azWYn* zjJ`zoO+?V9{=ox$YH3de@NmuJqC1)_n!~qqIR_8qey(kMN&5!LQzPE@)J}Y}4d0p@ z68#SOR}PB5BaFlKsURVphxsJ?&EBDFMV?)qs41VF4OH*>`oXihos=?8%jy6j>?I{{ zC1s?`P;-8Pda%-p8xy7KrYLjwu@zy4kO6@PNLAd)hK9Is>hEzwjAHh&)oQPBwElvg-Fn68(X=alq!*iNMA8KR>qjT+N;=&EV^>P9`15aOwp|s zf+e106XEj4>bV3DVwg0_1MUVG{BiMaLHqZgI)$v(^C#;3|Hg9s8w|(azXuVn2&f(* zWZQ}27enVh-@BE>WUpw-IIWCtbG%gPWpRh7M*aqe64Ki>T--$Rikjr@;eo^7*v_jw zt`iWZ1*x4!YRJ$1(b*5SNFjSP-32x=)RF{$8KLWuJAuxeXU=nNs+V(&$b_g_ER0h zvaD3h{az)DW6>ZE|BLcHxU-jkZSBl^qSlqKCby;_Mcm&kB!yCXr!J8`c#l4l3pgK2 zwsk|!`a7$?f?|b|h0syl(YC74bX7zuo&Sf*T5Ai)iv>c7RPWM;h@ss0Y7G}|T}*in z2@`=mammRb5Y_-h`ODJ3=G}bn$+QDS*?`LaZe?`?nz#1aK4qK4`OU;BZbaAXJQS}5 zje`vfN5ULIoauJBV7GBQX1GE;{Q*AcAa5*VS0n@c=AX#n2fX% zGh|P&)QRTZtHVHND@|B%J$>(dId%`CI6%!O%XBxV_oMmxSb5G(eC6f(x$-w7z}Y&! zk-w~DQ{4)UyWJJ3*3U&FHk=6}&&!56!{=?QrCh&1ADbNJfB)(2G&<*&H$3dHC*yG1 zZO3xBx9l^r#{b23C)2-*e2(T+@*X@JZvnFk7NXO=J(!pD?eE)yty^#t z8O>G~*UF7nW_QJKPK_cnA8IKnC+;cS8GAP!*oCm03HM!A=1jT zDnQ#vfm`qNKUC=gvZk;4y+!5ci#iWy2wHM>@i zNwCje&0Od632%Pu4Lx3wHG3*Sy1OB}=Q(Z&l+`%YY-oPj)NW(=;s)wwI_NnU`BZk; zh>60p)?ojMu~`^_c9s7aKh)hWZ}(qkeUXk=7OO20^D8^RG^J5tY0&IpZXXM~V%zQLJIwVNqnk#0AZrdL zpkd^>`eC?Uk8q|1?3c%EQ8!17sn< z@p9#$9AWwdbfre7Ydo83`=XntDQT$PJ`K85^sJF;(%<p{^JyNWj@~LvIL*|13*B$lhO2sA?|~Sqik5C;ek8l&};NM z=&nIjint$hzb+z?c8z=xmUpT`R%2+MrS!sLx5z-4_R#*SU+$?OwXyD#U7&F)m=hI= zg9Siuo}WZAu@ua?4y^;?-{N$y`>8_g$)3RORU&FR_DHbf6pi@AVj4aske@mEKP{fV)8aZ(CO| zkeK;K{76>7FLgd5O6QewtY|DJh|VUPR_9*0?W!#y`QX2PY0Hr3$_^CoK|hAm zN}p`lH1+}Rg!cKuUP*102TFZLL9$?xy%y+tK|kRbRWl6veQ=?|ZM+eL-wq6Yh}o7G z0)opVGpYvcMzS4^swbV}+-Dcyb?D&KpF?*y5h_+Zgx!4YrtzQPyalMYeu8;p)cqer zbE~m<;*}nxxO_boVUPE_=M8W5(!OW%I&|R=nFS-)asc$^eWH%$={y1mme6VK7kmt2 z15k>-SsQKYn1M-18nKJCMd9y8!gaSV5m0;wZ0Z^MV)O97tL3czu)}fmuHHH@Za36% zvu+wh@(yDEGb5Ki7yU0ATG6Shwp|A(YSiH{StI5XZ~ahI<_}|-hpN|A>7fw6yd_&& zy7k5`{Ehh4{-H|s8Ty7+pZCZym=Bwx3aN1@v4w0$NvL+|u{M)h3tZhzL)p7GzSNW# z#6Y%(+oE&**wF9g;SEee=~%DnbOC_WIR+fD0w9SW$#H#u0_<<3@#wZAS44ld6hV0`M9qPS8&?qdXfb zXVZ)m&43My=e?-nwi#OWG^YP4-{tDivLR4N1sJ2ZuKa;phRB%}tGX1cB}DU*h1qsP zGE)JITW$H;KWc(>?w_&F$bd$&hI5Aamc-kWe%5l81ihl3&9F#Vy=s-6g>{C04t9># zIo8K6)f!IRWJ}M=4pxg51qs&$R|4q%R-pvDY;n>13}8G2_eR%njz86sgp1d{|FrEk z^wAWzH&`QEaKEF?>wJ##Yj>hM`t4{fXUbJa`3_jfwV@J7cp2Wq5GPkgrsK2)*745? zt6iSg&EI3i`zjga{xj!~T#W>axivN+?t^A<(ulG=-& zT@&tv_uP;-P<{Jq8)j&D5Dy0odcE1`-QqQP2UqHWyL1;c?H^4cp7iI)wyT-b#k`P? zN5W7u^{%LzwOw0H7YU1Y6}anyJxL|j7}p`55;WH|0zj7neH?$|)Is>qA zfXHb1XSap$?BN&I@%Uz_WUf^~tYausy!+wUbiI&Q`D&qYX4u0;uF83rW&4#%auV?wD&N~(O6K}$eYE=qH5FzJ!74$YnTlzU-UQ|l#WfS zBY~JH;CP$%mMmo~UyhqmEz9?`QDd%{kAzi&E!X5V;AMHZR)8P$4Bf{%K7pvun|)9H zR0#hjHITASW3Fa&neK57-sLl}q~bO(DajRX2gOJLHD5;{!_->kpymBp^)-UDrzA@8 zZGVm+X&$rj65Jt_{JFF>J703xK0?|olykKJdQlDpFien#%sdN`(q3z{f;dQj7u^TJ zGj=5S2%5+}!=oo3M< zH{I+9+10!sd3zNW5uvG&$BP8dP``W?=ODNd2shY6^x87}kD)m`XnN>fHoDT2ZElZn ztPHw*-3FboN$KbfHUXxt3nk)?$#rb5RvDy9A)IWdZzuYiniAx*r98dQ@^`8x4`_#S z266h5;1f%k#B`ZywXNhH5Vya0vLo=6!pegu3DZu9X<`4$gGL`BJlvhtTCwNv&AfE+ z9)|l&P6*8NzdY%VZkz+V6w7FGRxGWk+icVVA^gA02Lx5B3um#AVk_Q#rCPR6{5MKu zqrYw%gxvC%QRnxc{-_!R%l&h8~rFao$fMyC8-1?L%5KW6C*mB zbmkXB+2%Q*6a-|ThnKDj?nFuoKoi{!z3sBh9n3R|M`_0*IvW-bA~qOTCX9rb&=DOv zf5vum&H~2mg^8dTB_xa`b5%mI&yO?k;;Vt)OEVyS+ln)o&=Xq4EJ+DcF~dV#+Isg< zGox*49 zao&9LWAuJ~Y{KU22&mOk_j6HT)j9fVAN{Wyx&6eVQbXN?Q^$#FC@urvP73fF>u(j5 z6sUO5LRnWkHr!}D`3qRbeNl9`Wn)kO4jGfAg=0evoE28{+@T}qX8Pmqez}wLG9q^A zw;18h75nbhsme=T?lZIXO*(75oefCo3e8FWnvMxXa{tQvNZ)gG=Xlr^c5vuMK^4fj zia`9v%obR7kDC?lO-VgJp3fI%h@OZe1zT*}-?iLid`%9`$8QONyKexUXYsT!Ta+v= z6ZYTKomRc%^wxPiu-F};)2GCH!s7o4uLT7Nd(ln|lZ)m36-ybNq2VFNvZ52&A&rK@ zGZh1$50P!Mj-D~IReFB?Ras4?)&T7=&Q93>5$Ni=MX)}&J>HCwzj%19I58<+l`#@C zgPl^ELtnp`{*hFy(%}FIJllE?K$kh&AdKz~c=)YKa_b{Yp~)HDv3rKNYD1yrPD3Z4 znAnsMa=QJ(g-~GK+BHAc4ji>?v@w_Rt)lb7U61E#jCFM{psUc;SYC9I%&HdOjQnkv zbM6!vjYEeSH_XeMj!%kJZqk-e9OPygMiZkLO#uAMbOOjSr$ zvd--aa5_62%D^8IOQwja$Yv1c4XB;56R1z@SU1VxrR7b7G#~06$|@?1GZn~KKpd1= zdmpV2i6kCjyOb|WXx~ydoG??^eGwchYJIjntK^RE+Qk6ES+F52Q$#sImWbQsj@hSe z|Ls}pj7HzJF}xf826tmb$B`}e8l*v4?qv`#lY*K&RQvy>r1~(i`xbBX#V#6xa^V9e znJR7{sIopVc+6H7Rqswnf{$li5lk6#WaL~S z97@<6A4|E8-{l^aFv<^|q@UerUtRzH6LlyOBsRE_z_JJpWMgrw?M5*m^!QbZ?$}_j6-lpvx*hpacfGlE^%yw%x0RS&nqC$9+4rArv7vfweYt@!GuePi z|1ZS)!4f1iV>>tieKa zg&gb*nq zK!B`NDFNvvgh-W=Kxj!I$?SLe{w0}mCo^~MIp;agdCocTF-3i=#K1d#hl{CF>6h3d`8eOw__5`*WSCuQ2Z4t<5%Tk!lL)5bGHBl*4CLnevEP;VM?3riEh zhMDLe0G`ksYL5EPC~1e<223di1bzoDfSF>z00v6p_%eV8R40qqb}^T3UDT*8uxo3Z zB+;2yq#eTW?lqnjSURA#!tX(x0!$w`*t53JD=JsteflRM<<~^y@F{hXK!ObtOW@|1 zV{}OBOgwnYUWOQ8)f)is5T&c0T7RcOO}+?)5WJ6aK~91KmosI{2BobbF8kr~!J8LR)^r!`j;Sjbid)Jflcuv9c#ac9uxj}<6FUv znO+%z;k=AOT5p20*jk54>dF_)kpTQL^IcprQ7-;aZ|+H$Z6Q#^C0mzIdA;}`X1p_g z__?NTaQiWC1j1qW4q!DR0+(BUbt5dHs2&MYwwVDKiT8f+1%cW0U4^=rdD?6u8p$O` zR;LM_1kL6*-Q!g1L@cdf&~|!fQmx-=#IY(NU$wRXRvP(pBRNN_Ir=*7*djMh@_MJT z$rvp}%n~4kw-({ceN(S|PRR5@(bAJll(ka?!Lkn5O_@bZljfTLp`B9X8aIdw@=FWP zd5oP{brQ!5uCDb9Te1x(Z*vS?flx3R)q;8W*-ygCDvyh2xt$ioZY^mP*cpl}`!8;h zu4pMKO)sTF&l9)tmTOym$$>Ed<~mL8yESt{*eQpcB=vY@*08ZOOW9KB-+qCYd8MG1 z?}c{?4bWf?Qt%AT9hTu7_cyXIwFA6a5tBZdJ-clyz`K7)6B(9`)oti4@`ta zrwkCy!)Mhe*N*n`A2Lz*Zc+|w7ZZ>4w-tGH!9$jxo(o=fZ$!0s5xJ;osos^579C6R z{GDMfr-1e*WumHo>3mjUcqaYb`ceP`ggUjtd+-RV63?dPFLH!8BdBIvQPjp=o?diU zY@AOXWjiYa*+2>Js-yjiy$pShq&+;X=r;pSLYQtLH{xgFXTub6T0s{C` z2yS~q=y|A?+7-V74C&CCVhbd=hOilSkHGBXuJ<$a>WjDJNE)DC%Ef-OYRxe^InQ+i ztGG^7DY{m4QEY3h_{9)}c+a9lXs&%2ipn1k^shWj9yt$RdXL)12?X{@2*6XbR3 z(N{LC>Vo0HxVM%5hq1Ch)5flCt4Ea>F6T^{j+YCK#KmA4^3%55vlv!-FY^IXsF&{d ztpj5}eSkL1w17BycEL+K$@t}Se}OqqcZVyiaLu>P;+D;(TM&`vg$rShb~zUDpe1Q` zh38Pcq7PhYRoN?)^P74eu6t6Am8;W}DbtZJD1$s-n=3RU=r%$Nv}}Yn3x0GAA@p*f zASCq_B$#zfcvfp|J4_#``51vJa92}q*}SuiJ96JiySI2=@cI3Xbp}x4tS6W1;ZiOl z2lES{Z^|g$T=5ajJ&P{A3FS~vsP&gW)`a`&@2-8Af;pAoeaKXAZMeJb9109o=3-rxXjS9Q5& zur|ezs6Kb~Q_RKj80Gsu;T--0no>B={NEq=KCTi=8*C4@roZ7(u^1P;cn|KZ+0=BE z+H&MwSs>!s3B||?H9ew+*vj)RL!?QKFYtpNn_IXl-2%>Zf1O0ho%RWXOHjBIYwQ)2 zUIeg_yCN6pA0OP(D~)goQX23 z)}SCvfmRfLtilTNGBaJkm)z-LQnQt2eAY=^ig@E*v~EVy2ankF#DG+heKqFf(5ecV zc462YC#O=b4k|pzGvPi-k@GA|H~b`P|i4{MPnW zbk0ecV|Tg{z2;0>qwMx%reE^Rh;;ICs4SmoS--2b%y&CmC5R0=v^;-NF;4xGhtamP zc&S2PI#hQ0WB~dYcIJFof2W74cgr*>r=Y;PRj1|pL0nKz4s>c9Y9_qIO(va-`-%ynY>(A z>h0CIAZd9UIx=xmod&v{EEA<~r-@|`jGfICIHM;$Nm=!G!!~@^(SN{>>*<+=CmNh> z*G@d0T0LqI_cDmrm16E#mSvAlgM0ki&Xi{x?L#|px|iBCQZ9b^_W5CfuBovtklOWK zur^L_T$2hkI1pQL;`L+$x*sMkXuH)V7}3wlxuGOoT5>RHDU zXiTXE<-a?u)t-xI?ha`>KK%Zu$8u$$v00sO9(8j8sp^3HeXF3y?^K!M8=zp`v1kF) zb1FtYs>hFJzYICSG#i%|zoyE&)w!^k#XrBiyr4V?eR2YT(F;sJ?|G_Cv6>eUQ3bAhGsW3Bf4X}{ z%i1iLYw-VP3yPX=NHvi23uIbB?mXadr}lBOP-Er#L6~a|N=Dpi#FQ4hE6;uPIN`yf zM&Nde{3!GwKcYyaa35cj>>J9hay{4(?X>7eDM<%=l;qw_>|)3^|HoYZH~sVe%y)&T zeT>UrOi019zNApXp&}(da1?w@iwRxDJbev)DgP+r`BL?#XBEVjpab)Kb&%4Gu2Ysj z$9^T*M(FACWC`kwcqBqr1$HZSLq`LgSMm@7spzUOF3AL(2&nw{vmz@^sy!gj0oeL; z=2ULhLb4@4-1a56tXn+mu}ha|RMCdBoXD~aQfG&w*dxb8r9f2lOtH!A)^4oz)b2I3 zPjeU%xy*boJXk$zNQofhF){i1*-Xyt0>wtt47wGB}k+636Qcw zTyN(}+~{RxYCVL!IRD9!_Z#W!n`Dr>WWK;FEb8G%+t#sLI>B(lp6ih***0RPOPBfq^a|Ez~a) z*K({x+&LcKYKGw2$KrTH*h>i4^yWi1uq&sEDxB$o<(!lqsM2|O!??So7x3*`+}A$D zGUkT9h(c#6Z^~oFw@YemaHa2a2Ii3e4s1{M_!zFQxmKrL4U~V_idprVp7ZSK6-7}w zimfV)Kk$Mr>|Xn$y=>Ensui$g(zCn9`OQ(Q>5fN-OH(0`_8r(6b@fcujkHk5MjY^w&H6>4CxZ z&=0V}VuOxzO((p#H|i*!=n{Z>)fm)|F#`!XAmTzY9SB`)bS)o=wLefiLZ6Rr!xLPk zwyo-tqJ_D6a|}0~qUE&eiSwZ+qJ{>PMCt8HKVMDsDrt_^X1(DMwd!!`KH6Z7TiS?@ zalQ{rF`P5_PS3@DS=KMp3M2&}On$ZwGBTP_0H~beQJ`^&ZhXh9pU#V8kD;rzcSUomp(P@i+DhL?DV zWC<(CE5n$UHTNlF6tARG^fF(ZhV*gR&irh60l}95i1V~>GQI*V88yygg(kz_aN=bd zngHbfT_Axy_H+$u()o8V| zaYB8J!*kd$#M~IMv*-u7BW$t_=Ezz}ve{1{9n~NQIt0MgJMnB5H_zIYQgDw6mO#5_+K)sWTFSb1Zhw^tE1*wVmAxln8w8Y1*H7?oHOysFDuFxEa4k*y#Y0 ziNrJ;(JmP+P`NYxii^7VD(OGNpt`HwuaI;KetMP3dixkRVFAGaywtHQGbLXORfR_V{idmd)ZEK`n5lIm#6s<&J0LMfwfVM;!s8-~A_X@QT4$?!w z61LXsfIq$$!A;fSD-R-plIR~$tu^PI&(@uHz~$aw2OW1P!W}4McBU^s*Mol|TT^V=Lu`T8$lL+nQvk>HzLCKnXrKBbSSe8c>&QFW~+yG>8v4F5zeiGa_#Tn(uIlmMtjdVb4``pP~b+7o*r z!4axOr9lp;_SQCRcF?EGm6` zb{&wF>!tF2gpm?UCa)!aVyfP0JW{`6)o_)~$4`E2ZCLN)B=C;0BWa>D{G`cD_?U9Z zChEctPHk0ClQ;ea|KG@Qf!#71?z+=>qTX$5;ey=cMBnVBx+!+l;OS?mNh4;_5_Om* zzcsO~lQ5o=iDD9XPq#vX5Zq+9tC%4jk%A8X300M1)S<3np7mTPxbd#&fqi>r8fzxjrPt`G9jTN_wk^RzhMLkH5*(WS+iY1_) z>IRFK7XNZl=UNYyQ4gjsfHAv@43z?+O8bnJ!RLYMq+dn zjfyjyE7fl~cb#wN4y2b=a~LMNE~PE-=k&%cOYu`3qJLy2-ZcGjt=$CEH}IK8?O*Rs zz2*}RP4U}Z$;I<-|NijOTG14O+XZPj36V zq`XRSGmsWkrrG87+Xh*wjF{U=tz>=}Rx|Dk+Q0ddy2@eL=Yf?f;azr`YZ$>ytDPI{ zsF&UT$f)1Foki&L`Gd1;Gdw*Pl~{gy=sP;2GM#>Q+UHh&^Rm;i#mgdUio5FEK*)S4 zacG!XQ|ccwkgcsS09xSs_Al~gl82R;uIhS0)+RBbj-86Pee-fRloany{bh{gTYe<>ZU0`+`5FW#X_YF{Qsixk0@gRG zKRDc#Yd(SdcTjMl-F#rE(VFkqUllEf=&29vwRhP$xS~mXviD3SD$%}3VW%he)&l2f zTkjK&7Dx6d-kp5NzAH*SK{{-2^uBnJ<-wWU!g`F6%<0V~r+q`&^7z7zM4qa&*?=w9 zqZN~vCwL#>2||0qs3uCvxundkUUu+&`N9Lj3f{^GG*WHr1O2B4G=-;;-lXghNOD}v z+*)$7OdvW7c*Ka4iB<^%vN(1nOU0i(GKb2j>vA@8fLA;HT0=l5Nn`9{uh5xLRXNPz zk+kORl2f(}qJ}4#&dT(V;qqoap@S1Tid~jnRK*wt>Wv(K`_!m%@L{U#2xZ-VC2@o5 z`h>MoPV5SBV!F=`n^(D8B}^!0+UF?|)<@)y646eFiW!{awOMW4ZnlE*vfWvO)+b%X zH$+;GPMfl%6!p1J{1=C+hYCD?tR)XVT(v4IkRLDebXPg|@+-F~Ywk97trSgZqlE-p zK|V^G#ry+1RY}rVL}iUzBndfUc+&fNm8agHk35j;W>4c7xpeJSsLxat?4M$#YRfPgepQR)D_4k?5*mTVxf6 zgFTgwtiYsBN~B6|NG`_!;tPtTjh@rc^=mX!Ja9)%}+aAmEgnytWb>Acl z;A?nJBD1OZOG*Ybokg>(q_N+prJMgEbywlJscnQ>zpAur+p$-@VUA&taQ|EP2&_~w zG=)f{O1UyFFulgK~P2 z#l?q zw(zMEL-q-ASfiu;ojws#M~gk<^rNotY!NSpyoqY?A@QB^ZEZ`*mu{Z--eiO>T9x5t zISi+Zoed?H$nlE$l$oC%2<1qfh514mTfnyd9y6Xsw=~tImnCnJp@zm>-W686y=cmE zBhxdwpC31V#n}>8844SC=$<|4>0%Qw7sGNgm_}Wq=U!j|D%bsLQ1@Sl&J;uqM&~h| zn7CI4sji!PPVw+DA+&05OP%NCcSc#oYZ&$zq~5L93*h^n;4-P&^JO)h)tekxmUvI; zrlJ&h@SKtqvZTOsl4|UMHce*#`@@z^YlT6wg))4M8pJQzGxf&gmTR+$AK(1y0jJzpo3TZXS?;Kvp+n+bCa8`NU>9}(o+2bwrZh};`X}s z4fEpY9CGReg`hn3#;kn5ER<4awU2R_y( z@s8<&e;WW4N~b|1UnZH%tMP4`1QIL~nr=7PA09$Ys%S6}2j-1W2>rDb$3YC1m_9dw zd8vV%lCIt)m`&xNn#lI|Um#u&CPh5;jm)>N#JOuD504FYO;I)IKB}93>jRCfqnz5} z%*)Z&c$Y}={zD}mTuw=uFT?FNcFR=#gYEdBZ@|ghC5;HOQx2E}2I)Es;`Vm&a?Bx2 ziQk1R(z!dJd?vuiAjH}2ZyQ3W>{d}sg_7Hv>9I3#8-;)v9o{5FpIpsGR-JLX$d6xn zw!mAqQcLr@Pu%onR1eUq-ouiPcPk67Wk}zpFt>{B&7Q`Tr1>Hy#TQ*o4QOF`ld78D zr`1?_!6v+by0pp45v%y{E-SUa3oB+{mPVSHn2|S&ObW)flN^aLh)G!X35%3fT~I8& zZ_mF&qUh>18|4e%YRl@{+e{k>-2t1U_H(yf4c?_mtjUVn3NGUNZI-|AV$|Cwo$U)j zeDte~P4q~w6E^E8`@7b{b+@#mL;fSV&JvRSc?qC%3-)})NTCl(a`Xxr(_6TBd1cw{ zW!?g}B#s_IUbwx*6{JWMR$%)sIiS9T`{viyP0BhHboC1cZegp?b?~7Ap8va=+ zAa;s~fS+M+>%Qh7p0nHa8UFFFqTcTuD{JaCBhO@S%*7>)oU$_LADONUbWLROhXQY{ zSEBXa6%ZNWv^J~vC$*v@9CSxUGk4UjFeKRy%=twwH`4GoFiSLl*fln41>ne zXo_&C!z$T~_lX_#7CNpK_&>WBkfauR+J!^Xj%#B&&*}NuO|~Isw7Qgnv~7Q@lTSdj z(Cz=8CYh|s*_R!a(}O@cs8WBtC57Q=sv!})ZPAbX(}{qoB_z$zEd}K+FT(yHMbSOE}~s7hat489=k(Panu-@pl8*&W%8}9h!$x z>8cq_DQL2vlS(M{INFL6n5mrvgw>DcBy%07iaJnmGhmUkf64FClXxw)cAc1ynk<#) zF;A|)(59d;Km~L$rLdh6=%*cU+L@-6?E6HdX!?g?@JPLM{*sIx;B_?mH38-;(yXC( zC4JY_Gj-xeM8roE0(9^rs*n3bnCHY`?-xK*#?r3`H06HUwXGZbl4u@p?xl91DZr0t z(3w1zIu)j)40HatPHHB|yoOf+(SygWx3t5L>y~`GXc@c>l8~_iUCY3Y?wLHdD zt3Q(-L;e_8k0^EqU4TGP8LypCd=tA2J_*f9*q$IUOL2F1g<;4mJvOmj8rDM@#ZA{e zF$|Y#y83kc*7=6b7~0x+N$(Sy8lVY?C5H`v>XPX0+XB8<{j!xnPcyRHANfs-bHDfE z7w+=o^s^XCUcv_ehua=Z_C}r5HoMAqfcpF+4*yO zmGdfa`$J(&DM(K%@v<;`=0u|pK@eNISbu`>&X9vXWpmUd_G6?8BYy3?B7>sSnUcMk z!A&G}cV(AMO2zsaSsCnQ=l}6&F?0UX12IXQxGLAwmwF<5QU+9~(QRd4D!ww2XpzFFov(App4^#j1ex*)u`iO0SQ**HJ4AASR2}&l@$J3o znJ$G?pozypa;%`<>ultwX;g!`>?ze&pO9bg&DyOP35zX-zzv@$s}vq(=;jGeumma6 zMyDv_ctI>85Ly{=6es;Es#;|`@U}iI9JNKu^}nTDk*I%DMh=OfC8mcsN2&d9Zg?kv zcClEYF={E(gdzkT9=(LJlONE(Ut6Vgz#KC%$P-P11DsJS18q3plvyIx?SopO?1zQr@42wr7h1;JG0siun1ug~Z@UA-*_yiGfZM)IQxN*Dj0bU>#h8q2}lO4`G zOjgmw)U=l=Q1pFrHh*zMoRi)3e{Ie{J_tRtZ9*UKP7f#)r+X^{oMMQ z&K^Pf#|?n31XA$=W2|cy{r03Z8{D$AgpI!eRD`>J3PTAVX<+hY#BaQBfbPYTt)uJlsmCmEs=kL3ST99VEsrCxXAA4S^%HE2t=AiemWVJp5*1fHzG zC4N9b^6rb(x03hne08wGeKbg@vf$ojS4nRT0%j2U?~Mn&$8J=%GzW+C?d)tn7pK0` z2`wy3n!i`lPE@|FuJG@$$d%lzMWVk^8sy+BVzAk1a_teCqJRNRlD>YW3S*%m4}YAQ|^>8QC5}87$V(jOpRofweF* z@>-%IF}5V;bp8^a7aMrc~!4(E;-aZxDX@lUJ?MyvNy$M z{Ll?%{GZZjCw7%M8pME(ZU(-JMdtWh4oi&ck%vXTDbS^S+A}sYbR9!3K3W{R=w^g2y~1Ih_jd+~%kYr&@7+tWS4YkaNw2ym4pN46 z?9-YFcL!p8ZV?cx!&gSJ9SXyL5As#ra8^8$YP>Cabx5$K4T~Qc-Wqam;4Ry~Z{X1* zL!vSpe44S;u;Q{Hp=7_^cY~7t-kK1SVVsy2TQ~G&OH#bk^Z5Gy)r=|R3!5&TuKpU^ z!JJhz;ZX7ARfjHjx7%UP>5c0HIeuYf=Aj3Wu_aAQRtH;jk9`f8pj{aZI0zjazP@B7 zo5tx~zJcxfg30iku(KV0M--j1i)VPEsQrHnALDb+ZK@hM%%Vd=8GPkew6FGIob<&3 z^Q$6q&Xq5IC#Q8S7T!seL>TKrbLo+dq;JvZ?#$iVciYo~Z7NeLZ;jUC%0f=D?|TZjkyV~N}z zP4^f7zkiYww|5^X`>H27a630@HBk1?duA~!$`^6#_}se8W^!@>h&ED34t*5tSBuy^ zWHrFK`67`V59_)45hB8a0~z!fV>!)v;0|Qm7Gx}c_LJF$Hf84n>lMj$_9IRi&nai@ zYMeRJXzqsF&?!jc+w^4(lkTe#0XCbZJgx}Cky;&b(o?rBb6Yk`6OtFLTjf3O>CSw= zg`>dFZ5g+0N%wOsbA)94g?ILss_Pnx+m(X!`>Hf1KcpF*stk5Z9`?^IAvjjAQf*~F zy!QV?^+Tbd6PkB@!*#%s;*l?u+_7sMdif<)PIx-z5^Z$RHO;vaI-)p+?@#)I^9-Vm zPNxYGi>`lzzRMRE@A8ZTwFh|5d0ukj)Jv?-_I@(q7k3r4(W~pO26l~Sb_6tB3V!`x;5W6K@ccvTABJ-7e(LMF z@JKC3A}XBcZx~k{CaW!*^Je3pc9{NLuJ}kYfbpt-6pts9C|Y)&^S)zygVvx$HU*@7Ay=J(ut*|2O;qNjuFXh%BPpsOHh4J!1-b%mX$M`WEQHLErTonw{ zWx&uM4-fb@<@u>Z4;Qi?WP3Zx34(u@f!rA&C*d{bMh?qmh0hmq0NLw67Rn1vy*o?x z_4f_fXYkEawHTJX%X5@&K%sL4J}hm+)vg<)3Y`1Jak8>g^<*v4cIQD?^nEY3emA~S zTl;%<_*iyTb)^K=f+6n9-sdfI#FMpZO(z^2v}G9gLvhdDRh%f6b9Z_6L~{`KvsA?w zFZ1L*ot-FA;bU%9VOkd?3iNUs5|sm&?|C~52scxRqMJ!?UApOhn7&!E%jlrL@9o#3 zjQ4qg Important: You'll need to wait until you've been authorized by GitHub and your ``OAuth/State`` has moved to ``OAuth/State/authorized(_:_:)`` + @Code(name: "Authorization.swift", file: url-protocol-step-3.swift) + } + + @Step { + Once the GitHub ``OAuth/Provider`` has been authorized, your app can begin to send authorized requests to any endpoints that match `api.github.com`. The ``OAuth/URLProtocol`` will automatically intercept every outbound request that matches `api.github.com` and inject the `Authorization: Bearer <>` header for you. + @Code(name: "Request.swift", file: url-protocol-step-4.swift) + } + } + } +} diff --git a/Sources/OAuthKit/OAuthKit.docc/Tutorials/TableOfContents.tutorial b/Sources/OAuthKit/OAuthKit.docc/Tutorials/TableOfContents.tutorial new file mode 100644 index 0000000..27be627 --- /dev/null +++ b/Sources/OAuthKit/OAuthKit.docc/Tutorials/TableOfContents.tutorial @@ -0,0 +1,30 @@ +@Metadata { + @PageImage( + purpose: card, + source: "gettingStarted-card", + alt: "Getting Started with OAuthKit") +} + +@Tutorials(name: "Tutorials") { + @Intro(title: "OAuthKit Tutorials") { + Learn how to start OAuth flows, observe state changes, and use authorization tokens in API requests using URLProtocols. + + @Image(source: tutorial-card.jpg, alt: "tutorial") + } + + @Chapter(name: "OAuth Flows and States") { + + @Image(source: gettingStarted-card.jpg, alt: "OAuthKit") + + Learn the basics of how to create observable ``OAuth`` instances and start authorization flows. + @TutorialReference(tutorial: "doc:FlowsAndStates") + } + + @Chapter(name: "URLProtocols with OAuthKit") { + + @Image(source: blueprint-card.jpg, alt: "OAuthKit") + + Leverage the ``OAuth/URLProtocol`` class to automatically have `Authorization` header values injected into matching outbound `URLRequest`. + @TutorialReference(tutorial: "doc:URLProtocol") + } +} diff --git a/Sources/OAuthKit/OAuthKit.docc/Tutorials/URLProtocol.tutorial b/Sources/OAuthKit/OAuthKit.docc/Tutorials/URLProtocol.tutorial new file mode 100644 index 0000000..a6a1fca --- /dev/null +++ b/Sources/OAuthKit/OAuthKit.docc/Tutorials/URLProtocol.tutorial @@ -0,0 +1,40 @@ +@Tutorial(time: 5) { + @Intro(title: "Using URLProtocols with OAuthKit") { + This tutorial guides you through using the ``OAuth/URLProtocol`` for automatically injecting `Authorization` headers into matching outbound HTTP URLRequests using the ``OAuth/Provider/authorizationPattern``. + + @Image(source: blueprint-card.jpg, alt: "OAuthKit") + } + + @Section(title: "Leverage the OAuth.URLProtocol with an URLSession.") { + @ContentAndMedia { + + This section walks you through an example of configuring an ``OAuth/Provider`` with [GitHub](https://docs.github.com/en/rest) and using the ``OAuth/URLProtocol`` for authorized URL requests with GitHub's REST endpoints. + } + + @Steps { + @Step { + Register the ``OAuth/URLProtocol`` class with an URLSession you'll use to communicate with an ``OAuth/Provider`` for API requests. + @Code(name: "URLSession.swift", file: url-protocol-step-1.swift) + } + + @Step { + Create a GitHub Provider that matches all REST endpoint patterns of `api.github.com`. + @Code(name: "Provider.swift", file: url-protocol-step-2.swift) + } + + @Step { + Start an ``OAuth/authorize(provider:grantType:)`` flow with the GitHub ``OAuth/Provider``. + + > Important: You'll need to wait until you've been authorized by GitHub and your ``OAuth/State`` has moved to ``OAuth/State/authorized(_:_:)`` + + > See: + @Code(name: "Authorization.swift", file: url-protocol-step-3.swift) + } + + @Step { + Once the GitHub ``OAuth/Provider`` has been authorized, your app can begin to send authorized requests to any endpoints that match `api.github.com`. The ``OAuth/URLProtocol`` will automatically intercept every outbound request that matches `api.github.com` and inject the `Authorization: Bearer <>` header for you. + @Code(name: "Request.swift", file: url-protocol-step-4.swift) + } + } + } +} From 7b80a1be6a1b69223e2c61a2d5a674a17d691d04 Mon Sep 17 00:00:00 2001 From: Kevin McKee Date: Tue, 15 Jul 2025 10:17:09 -0700 Subject: [PATCH 4/9] WIP --- .../OAuthKit/OAuthKit.docc/GettingStarted.md | 4 ++ Sources/OAuthKit/OAuthKit.docc/OAuthKit.md | 2 +- .../flows-states-step-1.swift | 25 ++++++- .../flows-states-step-2.swift | 53 +++++++++++++++ .../flows-states-step-3.swift | 67 +++++++++++++++++++ .../flows-states-step-4.swift | 36 ++++++++++ ...eOfContents.tutorial => Contents.tutorial} | 2 +- .../Tutorials/FlowsAndStates.tutorial | 37 ---------- .../Tutorials/FlowsStates.tutorial | 46 +++++++++++++ .../Tutorials/URLProtocol.tutorial | 10 +-- 10 files changed, 236 insertions(+), 46 deletions(-) create mode 100644 Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-2.swift create mode 100644 Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-3.swift create mode 100644 Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-4.swift rename Sources/OAuthKit/OAuthKit.docc/Tutorials/{TableOfContents.tutorial => Contents.tutorial} (94%) delete mode 100644 Sources/OAuthKit/OAuthKit.docc/Tutorials/FlowsAndStates.tutorial create mode 100644 Sources/OAuthKit/OAuthKit.docc/Tutorials/FlowsStates.tutorial diff --git a/Sources/OAuthKit/OAuthKit.docc/GettingStarted.md b/Sources/OAuthKit/OAuthKit.docc/GettingStarted.md index fdf94db..83a1711 100644 --- a/Sources/OAuthKit/OAuthKit.docc/GettingStarted.md +++ b/Sources/OAuthKit/OAuthKit.docc/GettingStarted.md @@ -188,4 +188,8 @@ The observable ``OAuth`` instance will proceed to poll the ``OAuth/Provider`` ac > Tip: Click [here](https://oauth.net/2/grant-types/device-code/) to see details of how the OAuth 2.0 Device Code Grant Type works. +### Related Tutorials +@Links(visualStyle: list) { + - +} diff --git a/Sources/OAuthKit/OAuthKit.docc/OAuthKit.md b/Sources/OAuthKit/OAuthKit.docc/OAuthKit.md index 25a12f4..d63a0a7 100644 --- a/Sources/OAuthKit/OAuthKit.docc/OAuthKit.md +++ b/Sources/OAuthKit/OAuthKit.docc/OAuthKit.md @@ -33,7 +33,7 @@ This has the advantage of avoiding direct coupling with an authorization flow, e ### Tutorials @Links(visualStyle: list) { - - + - } ## Topics diff --git a/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-1.swift b/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-1.swift index 2139133..ef822e1 100644 --- a/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-1.swift +++ b/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-1.swift @@ -1,2 +1,23 @@ -// Create an observable OAuth object -let oauth: OAuth = .init(.main) +import OAuthKit +import SwiftUI + +@main +struct OAuthApp: App { + + @Environment(\.oauth) + var oauth: OAuth + + /// Build the scene body + var body: some Scene { + + // The main window + WindowGroup { + ContentView() + } + + // The authorization window + WindowGroup(id: "oauth") { + OAWebView(oauth: oauth) + } + } +} diff --git a/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-2.swift b/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-2.swift new file mode 100644 index 0000000..d5cb785 --- /dev/null +++ b/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-2.swift @@ -0,0 +1,53 @@ +struct ContentView: View { + + @Environment(\.oauth) + var oauth: OAuth + + @Environment(\.openWindow) + var openWindow + + @Environment(\.dismissWindow) + private var dismissWindow + + /// Displays a list of oauth providers. + var providerList: some View { + List(oauth.providers) { provider in + Button(provider.id) { + // Start an authorization flow + } + } + } + + /// The main view body + var body: some View { + VStack { + // Update the view based on the current oauth state + switch oauth.state { + case .empty: + providerList + case .authorizing(let provider, let grantType): + Text("Authorizing [\(provider.id)] with [\(grantType.rawValue)]") + case .requestingAccessToken(let provider): + Text("Requesting Access Token [\(provider.id)]") + case .requestingDeviceCode(let provider): + Text("Requesting Device Code [\(provider.id)]") + case .authorized(let provider, _): + Button("Authorized [\(provider.id)]") { + oauth.clear() + } + case .receivedDeviceCode(_, let deviceCode): + Text("To login, visit") + Text(.init("[\(deviceCode.verificationUri)](\(deviceCode.verificationUri))")) + .foregroundStyle(.blue) + Text("and enter the following code:") + Text(deviceCode.userCode) + .padding() + .border(Color.primary) + .font(.title) + } + } + .onChange(of: oauth.state) { _, state in + // Handle state change + } + } +} diff --git a/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-3.swift b/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-3.swift new file mode 100644 index 0000000..e6616b9 --- /dev/null +++ b/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-3.swift @@ -0,0 +1,67 @@ +struct ContentView: View { + + @Environment(\.oauth) + var oauth: OAuth + + @Environment(\.openWindow) + var openWindow + + @Environment(\.dismissWindow) + private var dismissWindow + + /// Displays a list of oauth providers. + var providerList: some View { + List(oauth.providers) { provider in + Button(provider.id) { + authorize(provider: provider) + } + } + } + + /// Starts the authorization process for the specified provider. + /// - Parameter provider: the provider to begin authorization for + private func authorize(provider: OAuth.Provider) { + #if canImport(WebKit) + // Use the PKCE grantType for iOS, macOS, visionOS + let grantType: OAuth.GrantType = .pkce(.init()) + #else + // Use the Device Code grantType for tvOS, watchOS + let grantType: OAuth.GrantType = .deviceCode + #endif + // Start the authorization flow + oauth.authorize(provider: provider, grantType: grantType) + } + + /// The main view body + var body: some View { + VStack { + // Update the view based on the current oauth state + switch oauth.state { + case .empty: + providerList + case .authorizing(let provider, let grantType): + Text("Authorizing [\(provider.id)] with [\(grantType.rawValue)]") + case .requestingAccessToken(let provider): + Text("Requesting Access Token [\(provider.id)]") + case .requestingDeviceCode(let provider): + Text("Requesting Device Code [\(provider.id)]") + case .authorized(let provider, _): + Button("Authorized [\(provider.id)]") { + oauth.clear() + } + case .receivedDeviceCode(_, let deviceCode): + Text("To login, visit") + Text(.init("[\(deviceCode.verificationUri)](\(deviceCode.verificationUri))")) + .foregroundStyle(.blue) + Text("and enter the following code:") + Text(deviceCode.userCode) + .padding() + .border(Color.primary) + .font(.title) + } + } + .onChange(of: oauth.state) { _, state in + // Handle state change + } + } +} diff --git a/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-4.swift b/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-4.swift new file mode 100644 index 0000000..75eabaf --- /dev/null +++ b/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-4.swift @@ -0,0 +1,36 @@ +struct ContentView: View { + + @Environment(\.oauth) + var oauth: OAuth + + @Environment(\.openWindow) + var openWindow + + @Environment(\.dismissWindow) + private var dismissWindow + + /// The main view body + var body: some View { + VStack { + // Update the view based on the current oauth state + } + .onChange(of: oauth.state) { _, state in + handle(state: state) + } + } + + /// Reacts to oauth state changes by opening or closing authorization windows. + /// - Parameter state: the published state change + private func handle(state: OAuth.State) { + #if canImport(WebKit) + switch state { + case .empty, .requestingAccessToken, .requestingDeviceCode: + break + case .authorizing, .receivedDeviceCode: + openWindow(id: "oauth") + case .authorized(_, _): + dismissWindow(id: "oauth") + } + #endif + } +} diff --git a/Sources/OAuthKit/OAuthKit.docc/Tutorials/TableOfContents.tutorial b/Sources/OAuthKit/OAuthKit.docc/Tutorials/Contents.tutorial similarity index 94% rename from Sources/OAuthKit/OAuthKit.docc/Tutorials/TableOfContents.tutorial rename to Sources/OAuthKit/OAuthKit.docc/Tutorials/Contents.tutorial index 27be627..69f320b 100644 --- a/Sources/OAuthKit/OAuthKit.docc/Tutorials/TableOfContents.tutorial +++ b/Sources/OAuthKit/OAuthKit.docc/Tutorials/Contents.tutorial @@ -17,7 +17,7 @@ @Image(source: gettingStarted-card.jpg, alt: "OAuthKit") Learn the basics of how to create observable ``OAuth`` instances and start authorization flows. - @TutorialReference(tutorial: "doc:FlowsAndStates") + @TutorialReference(tutorial: "doc:FlowsStates") } @Chapter(name: "URLProtocols with OAuthKit") { diff --git a/Sources/OAuthKit/OAuthKit.docc/Tutorials/FlowsAndStates.tutorial b/Sources/OAuthKit/OAuthKit.docc/Tutorials/FlowsAndStates.tutorial deleted file mode 100644 index 237f869..0000000 --- a/Sources/OAuthKit/OAuthKit.docc/Tutorials/FlowsAndStates.tutorial +++ /dev/null @@ -1,37 +0,0 @@ -@Tutorial(time: 7) { - @Intro(title: "OAuth Flows and States") { - This tutorial guides you through creating an observable ``OAuth`` instance, starting authorization flows, and observing ``OAuth/state``. - - @Image(source: gettingStarted-card.jpg, alt: "OAuthKit") - } - - @Section(title: "Creating Observable OAuth Objects") { - @ContentAndMedia { - This section walks you through an example of how to create an observable ``OAuth`` object. - } - - @Steps { - @Step { - Register the ``OAuth/URLProtocol`` class with an URLSession. - @Code(name: "URLSession.swift", file: flows-states-step-1.swift) - } - - @Step { - Create a GitHub Provider that matches all REST endpoint patterns of `api.github.com`. - @Code(name: "Provider.swift", file: url-protocol-step-2.swift) - } - - @Step { - Start an ``OAuth/authorize(provider:grantType:)`` flow with the GitHub ``OAuth/Provider``. - - > Important: You'll need to wait until you've been authorized by GitHub and your ``OAuth/State`` has moved to ``OAuth/State/authorized(_:_:)`` - @Code(name: "Authorization.swift", file: url-protocol-step-3.swift) - } - - @Step { - Once the GitHub ``OAuth/Provider`` has been authorized, your app can begin to send authorized requests to any endpoints that match `api.github.com`. The ``OAuth/URLProtocol`` will automatically intercept every outbound request that matches `api.github.com` and inject the `Authorization: Bearer <>` header for you. - @Code(name: "Request.swift", file: url-protocol-step-4.swift) - } - } - } -} diff --git a/Sources/OAuthKit/OAuthKit.docc/Tutorials/FlowsStates.tutorial b/Sources/OAuthKit/OAuthKit.docc/Tutorials/FlowsStates.tutorial new file mode 100644 index 0000000..a45e8b5 --- /dev/null +++ b/Sources/OAuthKit/OAuthKit.docc/Tutorials/FlowsStates.tutorial @@ -0,0 +1,46 @@ +@Tutorial(time: 7) { + @Intro(title: "OAuth Flows and States") { + This tutorial guides you through starting authorization flows, and observing ``OAuth/state``. + + @Image(source: gettingStarted-card.jpg, alt: "OAuthKit") + } + + @Section(title: "Observing OAuth Objects") { + @ContentAndMedia { + This section walks you through an example of how to use an observable ``OAuth`` object. + } + + @Steps { + @Step { + Declare a default ``OAuth`` instance via the @Environment property wrapper in SwiftUI that can be accessed throughout your app. + + > Tip: For details of how to create and configure an ``OAuth`` instance, see + @Code(name: "OAuthApp.swift", file: flows-states-step-1.swift) + } + + @Step { + Observe the ``OAuth/state`` property for changes in your View. + @Code(name: "ContentView.swift", file: flows-states-step-2.swift) + } + + @Step { + Start an flow for a `Provider` when a user taps a `Provider` in the list. + + > Tip: OAuthKit also supports the [OAuth 2.0 Device Code Flow Grant](https://alexbilbie.github.io/2016/04/oauth-2-device-flow-grant/), which is used by apps that don't have access to a web browser (like tvOS or watchOS). To leverage OAuthKit in tvOS or watchOS apps, simply add the ``OAuth/Provider/deviceCodeURL`` to your `Provider` and start an authorization flow with the `.deviceCode` grantType. + @Code(name: "ContentView.swift", file: flows-states-step-3.swift) + } + + @Step { + Open the authorization window when the ``OAuth/state`` reaches an ``OAuth/State/authorizing(_:_:)`` state. + @Code(name: "ContentView.swift", file: flows-states-step-4.swift) + } + + @Step { + Once the ``OAuth/Provider`` has been authorized, the ``OAuth/state`` will reach an ``OAuth/State/authorized(_:_:)`` state can you can dismiss the authorization window. + + > Tip: See using the received authorization token in subsequent API requests in the tutorial. + @Code(name: "ContentView.swift", file: flows-states-step-4.swift) + } + } + } +} diff --git a/Sources/OAuthKit/OAuthKit.docc/Tutorials/URLProtocol.tutorial b/Sources/OAuthKit/OAuthKit.docc/Tutorials/URLProtocol.tutorial index a6a1fca..b05a681 100644 --- a/Sources/OAuthKit/OAuthKit.docc/Tutorials/URLProtocol.tutorial +++ b/Sources/OAuthKit/OAuthKit.docc/Tutorials/URLProtocol.tutorial @@ -14,12 +14,12 @@ @Steps { @Step { Register the ``OAuth/URLProtocol`` class with an URLSession you'll use to communicate with an ``OAuth/Provider`` for API requests. - @Code(name: "URLSession.swift", file: url-protocol-step-1.swift) + @Code(name: "Configuration/URLSession.swift", file: url-protocol-step-1.swift) } @Step { Create a GitHub Provider that matches all REST endpoint patterns of `api.github.com`. - @Code(name: "Provider.swift", file: url-protocol-step-2.swift) + @Code(name: "Configuration/Provider.swift", file: url-protocol-step-2.swift) } @Step { @@ -27,13 +27,13 @@ > Important: You'll need to wait until you've been authorized by GitHub and your ``OAuth/State`` has moved to ``OAuth/State/authorized(_:_:)`` - > See: - @Code(name: "Authorization.swift", file: url-protocol-step-3.swift) + > See: + @Code(name: "Configuration/ProviderAuthorization.swift", file: url-protocol-step-3.swift) } @Step { Once the GitHub ``OAuth/Provider`` has been authorized, your app can begin to send authorized requests to any endpoints that match `api.github.com`. The ``OAuth/URLProtocol`` will automatically intercept every outbound request that matches `api.github.com` and inject the `Authorization: Bearer <>` header for you. - @Code(name: "Request.swift", file: url-protocol-step-4.swift) + @Code(name: "Configuration/Request.swift", file: url-protocol-step-4.swift) } } } From 4be5052eb5749fbdefddac7a4f80f5c17f7b85f2 Mon Sep 17 00:00:00 2001 From: Kevin McKee Date: Tue, 15 Jul 2025 10:19:10 -0700 Subject: [PATCH 5/9] Lint fixes --- .../tutorial-code-files/flows-states-step-1.swift | 4 ++-- .../tutorial-code-files/flows-states-step-2.swift | 4 ++-- .../tutorial-code-files/flows-states-step-3.swift | 10 +++++----- .../tutorial-code-files/flows-states-step-4.swift | 8 ++++---- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-1.swift b/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-1.swift index ef822e1..eb43039 100644 --- a/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-1.swift +++ b/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-1.swift @@ -6,7 +6,7 @@ struct OAuthApp: App { @Environment(\.oauth) var oauth: OAuth - + /// Build the scene body var body: some Scene { @@ -14,7 +14,7 @@ struct OAuthApp: App { WindowGroup { ContentView() } - + // The authorization window WindowGroup(id: "oauth") { OAWebView(oauth: oauth) diff --git a/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-2.swift b/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-2.swift index d5cb785..dc4b7a4 100644 --- a/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-2.swift +++ b/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-2.swift @@ -1,5 +1,5 @@ struct ContentView: View { - + @Environment(\.oauth) var oauth: OAuth @@ -8,7 +8,7 @@ struct ContentView: View { @Environment(\.dismissWindow) private var dismissWindow - + /// Displays a list of oauth providers. var providerList: some View { List(oauth.providers) { provider in diff --git a/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-3.swift b/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-3.swift index e6616b9..ba0178a 100644 --- a/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-3.swift +++ b/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-3.swift @@ -1,14 +1,14 @@ struct ContentView: View { - + @Environment(\.oauth) var oauth: OAuth - + @Environment(\.openWindow) var openWindow - + @Environment(\.dismissWindow) private var dismissWindow - + /// Displays a list of oauth providers. var providerList: some View { List(oauth.providers) { provider in @@ -17,7 +17,7 @@ struct ContentView: View { } } } - + /// Starts the authorization process for the specified provider. /// - Parameter provider: the provider to begin authorization for private func authorize(provider: OAuth.Provider) { diff --git a/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-4.swift b/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-4.swift index 75eabaf..eb75dc3 100644 --- a/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-4.swift +++ b/Sources/OAuthKit/OAuthKit.docc/Resources/tutorial-code-files/flows-states-step-4.swift @@ -1,14 +1,14 @@ struct ContentView: View { - + @Environment(\.oauth) var oauth: OAuth - + @Environment(\.openWindow) var openWindow - + @Environment(\.dismissWindow) private var dismissWindow - + /// The main view body var body: some View { VStack { From d6b80a60bb11708d8296811b1414b250ab6a8190 Mon Sep 17 00:00:00 2001 From: Kevin McKee Date: Tue, 15 Jul 2025 10:32:51 -0700 Subject: [PATCH 6/9] Updating page color --- Sources/OAuthKit/OAuthKit.docc/Configuration.md | 2 +- Sources/OAuthKit/OAuthKit.docc/GettingStarted.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/OAuthKit/OAuthKit.docc/Configuration.md b/Sources/OAuthKit/OAuthKit.docc/Configuration.md index d7edc0f..63109c6 100644 --- a/Sources/OAuthKit/OAuthKit.docc/Configuration.md +++ b/Sources/OAuthKit/OAuthKit.docc/Configuration.md @@ -8,7 +8,7 @@ Explore advanced OAuth configuration options such as Keychain protection and pri purpose: card, source: "config-card", alt: "OAuthKit Framework Configuration") - @PageColor(red) + @PageColor(purple) @Available(iOS, introduced: "18.0") @Available(macOS, introduced: "15.0") @Available(tvOS, introduced: "18.0") diff --git a/Sources/OAuthKit/OAuthKit.docc/GettingStarted.md b/Sources/OAuthKit/OAuthKit.docc/GettingStarted.md index 83a1711..d91fa35 100644 --- a/Sources/OAuthKit/OAuthKit.docc/GettingStarted.md +++ b/Sources/OAuthKit/OAuthKit.docc/GettingStarted.md @@ -8,7 +8,7 @@ Learn how to create an observable OAuth instance and start an authorization flow purpose: card, source: "gettingStarted-card", alt: "Getting Started with OAuthKit") - @PageColor(yellow) + @PageColor(purple) @Available(iOS, introduced: "18.0") @Available(macOS, introduced: "15.0") @Available(tvOS, introduced: "18.0") From 5438af16c7e664c4548b3ca6453e9c1db24b71a1 Mon Sep 17 00:00:00 2001 From: Kevin McKee Date: Tue, 15 Jul 2025 10:41:23 -0700 Subject: [PATCH 7/9] Updating Github sample and tests. --- Tests/OAuthKitTests/OAuthTests.swift | 6 ++++-- Tests/OAuthKitTests/Resources/oauth.json | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Tests/OAuthKitTests/OAuthTests.swift b/Tests/OAuthKitTests/OAuthTests.swift index 09c9150..8835e2e 100644 --- a/Tests/OAuthKitTests/OAuthTests.swift +++ b/Tests/OAuthKitTests/OAuthTests.swift @@ -504,8 +504,8 @@ final class OAuthTests { OAuth.URLProtocol.addAuthorization(auth, for: provider2) urls = [ - "https://api.github.com/endpoint", - "https://github.com/codefiesta", + "https://api.codefiesta.com/endpoint", + "https://codefiesta.com/codefiesta", ] for urlString in urls { @@ -517,6 +517,8 @@ final class OAuthTests { let authorizationHeader = canonicalRequest.value(forHTTPHeaderField: "Authorization") #expect(authorizationHeader == nil) } + + OAuth.URLProtocol.clear() } /// Streams the oauth status until we receive an authorization. diff --git a/Tests/OAuthKitTests/Resources/oauth.json b/Tests/OAuthKitTests/Resources/oauth.json index dbfd0f3..207c455 100644 --- a/Tests/OAuthKitTests/Resources/oauth.json +++ b/Tests/OAuthKitTests/Resources/oauth.json @@ -54,7 +54,8 @@ "user", "repo" ], - "debug": true + "debug": true, + "authorizationPattern": "api.github.com" }, { "id": "Google", From 4cf7a61fd08335b2ed57be2a5cac6caf8dbff7fa Mon Sep 17 00:00:00 2001 From: Kevin McKee Date: Tue, 15 Jul 2025 11:11:05 -0700 Subject: [PATCH 8/9] Manual synchronization around URLProtocol authorizations using NSLock. --- Sources/OAuthKit/OAuth+URLProtocol.swift | 11 ++++++++++- Tests/OAuthKitTests/OAuthTests.swift | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Sources/OAuthKit/OAuth+URLProtocol.swift b/Sources/OAuthKit/OAuth+URLProtocol.swift index 6204e65..0e34c99 100644 --- a/Sources/OAuthKit/OAuth+URLProtocol.swift +++ b/Sources/OAuthKit/OAuth+URLProtocol.swift @@ -13,7 +13,16 @@ extension OAuth { /// `Authorization: Bearer <>` headers into outbound HTTP URLRequests based on ``Provider/authorizationPattern``. public class URLProtocol: Foundation.URLProtocol { - nonisolated(unsafe) private static var authorizations: [OAuth.Provider: OAuth.Authorization] = .init() + /// The lock that provides manual synchronization around access to authorization tokens. + private static let lock: NSLock = .init() + nonisolated(unsafe) private static var auths: [OAuth.Provider: OAuth.Authorization] = .init() + + static var authorizations: [OAuth.Provider: OAuth.Authorization] { + get { lock.withLock { auths } } + set { lock.withLock { auths = newValue } } + } + + //nonisolated(unsafe) private static var authorizations: [OAuth.Provider: OAuth.Authorization] = .init() /// Adds an authorization for the given provider that can be used inject `Authorization: Bearer <>` headers into a request. /// - Parameters: diff --git a/Tests/OAuthKitTests/OAuthTests.swift b/Tests/OAuthKitTests/OAuthTests.swift index 8835e2e..3ea01ac 100644 --- a/Tests/OAuthKitTests/OAuthTests.swift +++ b/Tests/OAuthKitTests/OAuthTests.swift @@ -517,7 +517,7 @@ final class OAuthTests { let authorizationHeader = canonicalRequest.value(forHTTPHeaderField: "Authorization") #expect(authorizationHeader == nil) } - + OAuth.URLProtocol.clear() } From c6c9a173ac919155a5702e20f0b534a86a46a1e5 Mon Sep 17 00:00:00 2001 From: Kevin McKee Date: Tue, 15 Jul 2025 11:46:28 -0700 Subject: [PATCH 9/9] Companion Markdown cleanup --- Sources/OAuthKit/OAuth+URLProtocol.swift | 11 +++++------ .../OAuthKit.docc/Extensions/Authorization.md | 1 - .../OAuthKit/OAuthKit.docc/Extensions/GrantType.md | 1 - .../OAuthKit.docc/Extensions/NetworkMonitor.md | 9 +++++++++ Sources/OAuthKit/OAuthKit.docc/Extensions/Provider.md | 1 - Sources/OAuthKit/OAuthKit.docc/Extensions/State.md | 1 - Sources/OAuthKit/OAuthKit.docc/Extensions/Token.md | 1 - .../OAuthKit/OAuthKit.docc/Extensions/URLProtocol.md | 2 +- Sources/OAuthKit/OAuthKit.docc/GettingStarted.md | 6 +++--- Sources/OAuthKit/OAuthKit.docc/OAuthKit.md | 5 ++--- .../OAuthKit.docc/Tutorials/URLProtocol.tutorial | 2 +- 11 files changed, 21 insertions(+), 19 deletions(-) create mode 100644 Sources/OAuthKit/OAuthKit.docc/Extensions/NetworkMonitor.md diff --git a/Sources/OAuthKit/OAuth+URLProtocol.swift b/Sources/OAuthKit/OAuth+URLProtocol.swift index 0e34c99..7ff9f12 100644 --- a/Sources/OAuthKit/OAuth+URLProtocol.swift +++ b/Sources/OAuthKit/OAuth+URLProtocol.swift @@ -15,15 +15,13 @@ extension OAuth { /// The lock that provides manual synchronization around access to authorization tokens. private static let lock: NSLock = .init() - nonisolated(unsafe) private static var auths: [OAuth.Provider: OAuth.Authorization] = .init() + nonisolated(unsafe) private static var _authorizations: [OAuth.Provider: OAuth.Authorization] = .init() static var authorizations: [OAuth.Provider: OAuth.Authorization] { - get { lock.withLock { auths } } - set { lock.withLock { auths = newValue } } + get { lock.withLock { _authorizations } } + set { lock.withLock { _authorizations = newValue } } } - //nonisolated(unsafe) private static var authorizations: [OAuth.Provider: OAuth.Authorization] = .init() - /// Adds an authorization for the given provider that can be used inject `Authorization: Bearer <>` headers into a request. /// - Parameters: /// - authorization: the authorization issued by the provider @@ -66,7 +64,8 @@ extension OAuth { return false } - /// Returns the canonical version of the given request. + /// If an authorized provider matches the given request, then this method returns a canonical version + /// of the given request with an additional `Authorization: Bearer <>` header field. /// - Parameter request: the request /// - Returns: the canonical version of the given request. override public class func canonicalRequest(for request: URLRequest) -> URLRequest { diff --git a/Sources/OAuthKit/OAuthKit.docc/Extensions/Authorization.md b/Sources/OAuthKit/OAuthKit.docc/Extensions/Authorization.md index acca32e..f7d50fa 100644 --- a/Sources/OAuthKit/OAuthKit.docc/Extensions/Authorization.md +++ b/Sources/OAuthKit/OAuthKit.docc/Extensions/Authorization.md @@ -1,5 +1,4 @@ # ``OAuthKit/OAuth/Authorization`` - @Metadata { @Available(iOS, introduced: "18.0") @Available(macOS, introduced: "15.0") diff --git a/Sources/OAuthKit/OAuthKit.docc/Extensions/GrantType.md b/Sources/OAuthKit/OAuthKit.docc/Extensions/GrantType.md index 507ba5f..e5b5228 100644 --- a/Sources/OAuthKit/OAuthKit.docc/Extensions/GrantType.md +++ b/Sources/OAuthKit/OAuthKit.docc/Extensions/GrantType.md @@ -1,5 +1,4 @@ # ``OAuthKit/OAuth/GrantType`` - @Metadata { @Available(iOS, introduced: "18.0") @Available(macOS, introduced: "15.0") diff --git a/Sources/OAuthKit/OAuthKit.docc/Extensions/NetworkMonitor.md b/Sources/OAuthKit/OAuthKit.docc/Extensions/NetworkMonitor.md new file mode 100644 index 0000000..6bed8b9 --- /dev/null +++ b/Sources/OAuthKit/OAuthKit.docc/Extensions/NetworkMonitor.md @@ -0,0 +1,9 @@ +# ``OAuthKit/NetworkMonitor`` +@Metadata { + @Available(iOS, introduced: "18.0") + @Available(macOS, introduced: "15.0") + @Available(tvOS, introduced: "18.0") + @Available(visionOS, introduced: "2.0") + @Available(watchOS, introduced: "11.0") +} + diff --git a/Sources/OAuthKit/OAuthKit.docc/Extensions/Provider.md b/Sources/OAuthKit/OAuthKit.docc/Extensions/Provider.md index 0a7153b..aa19956 100644 --- a/Sources/OAuthKit/OAuthKit.docc/Extensions/Provider.md +++ b/Sources/OAuthKit/OAuthKit.docc/Extensions/Provider.md @@ -1,5 +1,4 @@ # ``OAuthKit/OAuth/Provider`` - @Metadata { @Available(iOS, introduced: "18.0") @Available(macOS, introduced: "15.0") diff --git a/Sources/OAuthKit/OAuthKit.docc/Extensions/State.md b/Sources/OAuthKit/OAuthKit.docc/Extensions/State.md index 097bd55..37f7b74 100644 --- a/Sources/OAuthKit/OAuthKit.docc/Extensions/State.md +++ b/Sources/OAuthKit/OAuthKit.docc/Extensions/State.md @@ -1,5 +1,4 @@ # ``OAuthKit/OAuth/State`` - @Metadata { @Available(iOS, introduced: "18.0") @Available(macOS, introduced: "15.0") diff --git a/Sources/OAuthKit/OAuthKit.docc/Extensions/Token.md b/Sources/OAuthKit/OAuthKit.docc/Extensions/Token.md index 63d1b54..12c8c7a 100644 --- a/Sources/OAuthKit/OAuthKit.docc/Extensions/Token.md +++ b/Sources/OAuthKit/OAuthKit.docc/Extensions/Token.md @@ -1,5 +1,4 @@ # ``OAuthKit/OAuth/Token`` - @Metadata { @Available(iOS, introduced: "18.0") @Available(macOS, introduced: "15.0") diff --git a/Sources/OAuthKit/OAuthKit.docc/Extensions/URLProtocol.md b/Sources/OAuthKit/OAuthKit.docc/Extensions/URLProtocol.md index 7e0924c..f138831 100644 --- a/Sources/OAuthKit/OAuthKit.docc/Extensions/URLProtocol.md +++ b/Sources/OAuthKit/OAuthKit.docc/Extensions/URLProtocol.md @@ -8,7 +8,7 @@ } ## Overview -The URLProtocol can be registered with any `URLSessionConfiguration` and will automatically inject `Authorization` headers into outbound HTTP URLRequests if patterns are matched. The following is an example of using the `OAuth.URLProtocol` with [GitHub](https://docs.github.com/en/rest). +The URLProtocol can be registered with any `URLSessionConfiguration` and will automatically inject `Authorization` headers into outbound HTTP URLRequests if patterns are matched. ### Tutorials diff --git a/Sources/OAuthKit/OAuthKit.docc/GettingStarted.md b/Sources/OAuthKit/OAuthKit.docc/GettingStarted.md index d91fa35..6fffc4d 100644 --- a/Sources/OAuthKit/OAuthKit.docc/GettingStarted.md +++ b/Sources/OAuthKit/OAuthKit.docc/GettingStarted.md @@ -1,7 +1,4 @@ # Getting Started with OAuthKit - -Learn how to create an observable OAuth instance and start an authorization flow. - @Metadata { @PageKind(article) @PageImage( @@ -16,6 +13,9 @@ Learn how to create an observable OAuth instance and start an authorization flow @Available(watchOS, introduced: "11.0") } +Learn how to create an observable OAuth instance and start an authorization flow. + + ## Overview OAuth 2.0 authorization flows are started by calling ``OAuth/authorize(provider:grantType:)`` with an ``OAuth/Provider`` and ``OAuth/GrantType``. diff --git a/Sources/OAuthKit/OAuthKit.docc/OAuthKit.md b/Sources/OAuthKit/OAuthKit.docc/OAuthKit.md index d63a0a7..7bcd0c8 100644 --- a/Sources/OAuthKit/OAuthKit.docc/OAuthKit.md +++ b/Sources/OAuthKit/OAuthKit.docc/OAuthKit.md @@ -1,7 +1,4 @@ # ``OAuthKit`` - -A modern and observable framework for implementing OAuth 2.0 authorization flows. - @Metadata { @PageColor(purple) @Available(iOS, introduced: "18.0") @@ -11,6 +8,8 @@ A modern and observable framework for implementing OAuth 2.0 authorization flows @Available(watchOS, introduced: "11.0") } +A modern and observable framework for implementing OAuth 2.0 authorization flows. + ## Overview OAuthKit offers a robust, type-safe, and performant OAuth 2.0 implementation using the observer design pattern. This pattern allows applications to observe an ``OAuth`` object and be notified of ``OAuth/State`` changes. diff --git a/Sources/OAuthKit/OAuthKit.docc/Tutorials/URLProtocol.tutorial b/Sources/OAuthKit/OAuthKit.docc/Tutorials/URLProtocol.tutorial index b05a681..ac22f74 100644 --- a/Sources/OAuthKit/OAuthKit.docc/Tutorials/URLProtocol.tutorial +++ b/Sources/OAuthKit/OAuthKit.docc/Tutorials/URLProtocol.tutorial @@ -28,7 +28,7 @@ > Important: You'll need to wait until you've been authorized by GitHub and your ``OAuth/State`` has moved to ``OAuth/State/authorized(_:_:)`` > See: - @Code(name: "Configuration/ProviderAuthorization.swift", file: url-protocol-step-3.swift) + @Code(name: "Configuration/AuthFlow.swift", file: url-protocol-step-3.swift) } @Step {