From 20de8efca5ecdd437436b1891eed2afcbf2a5d70 Mon Sep 17 00:00:00 2001 From: Kevin McKee Date: Wed, 16 Jul 2025 15:35:59 -0700 Subject: [PATCH 1/2] Added sample for making an authenticated request after receiving an authorization. --- OAuthSample.xcodeproj/project.pbxproj | 2 +- OAuthSample/Classes/ContentView.swift | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/OAuthSample.xcodeproj/project.pbxproj b/OAuthSample.xcodeproj/project.pbxproj index 645d8d6..eaf87f7 100644 --- a/OAuthSample.xcodeproj/project.pbxproj +++ b/OAuthSample.xcodeproj/project.pbxproj @@ -581,7 +581,7 @@ repositoryURL = "https://github.com/codefiesta/OAuthKit.git"; requirement = { kind = upToNextMajorVersion; - minimumVersion = 1.4.6; + minimumVersion = 1.4.8; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/OAuthSample/Classes/ContentView.swift b/OAuthSample/Classes/ContentView.swift index 9a80983..6aa3061 100644 --- a/OAuthSample/Classes/ContentView.swift +++ b/OAuthSample/Classes/ContentView.swift @@ -98,8 +98,9 @@ struct ContentView: View { } case .receivedDeviceCode: openWebView() - case .authorized(_, _): + case .authorized(_, let authorization): dismissWebView() + makeAuthenticatedRequest(authorization) } } @@ -115,6 +116,19 @@ struct ContentView: View { #endif } + /// Sample of making an authenticated request against Github. + /// - Parameter authorization: the authorization to use + private func makeAuthenticatedRequest(_ authorization: OAuth.Authorization) { + Task { + let urlSession: URLSession = .init(configuration: .ephemeral) + let url: URL = .init(string: "https://api.github.com/users/codefiesta/repos")! + var request = URLRequest(url: url) + request.addAuthorization(auth: authorization) + let (data, _) = try await urlSession.data(for: request) + guard let string = String(data: data, encoding: .utf8) else { return } + debugPrint(string) + } + } } #Preview { From e45d0ee66dbc3dabcd3299409ecde0b9629d2ba5 Mon Sep 17 00:00:00 2001 From: Kevin McKee Date: Wed, 16 Jul 2025 15:38:11 -0700 Subject: [PATCH 2/2] Renaming method --- OAuthSample/Classes/ContentView.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OAuthSample/Classes/ContentView.swift b/OAuthSample/Classes/ContentView.swift index 6aa3061..eef898a 100644 --- a/OAuthSample/Classes/ContentView.swift +++ b/OAuthSample/Classes/ContentView.swift @@ -100,7 +100,7 @@ struct ContentView: View { openWebView() case .authorized(_, let authorization): dismissWebView() - makeAuthenticatedRequest(authorization) + makeAuthorizedRequest(authorization) } } @@ -116,9 +116,9 @@ struct ContentView: View { #endif } - /// Sample of making an authenticated request against Github. + /// Sample of making an authorized request against Github. /// - Parameter authorization: the authorization to use - private func makeAuthenticatedRequest(_ authorization: OAuth.Authorization) { + private func makeAuthorizedRequest(_ authorization: OAuth.Authorization) { Task { let urlSession: URLSession = .init(configuration: .ephemeral) let url: URL = .init(string: "https://api.github.com/users/codefiesta/repos")!