mirror of
https://github.com/Ferrite-iOS/Ferrite.git
synced 2026-01-11 20:10:27 +00:00
Ferrite: Remove keychain shared class
Re-enable this when it's actually needed. Signed-off-by: kingbri <bdashore3@gmail.com>
This commit is contained in:
parent
45526057ac
commit
4e169b47b3
4 changed files with 13 additions and 29 deletions
|
|
@ -1,5 +1,5 @@
|
|||
# File exclusion
|
||||
--exclude Ferrite/API/Keychain.swift
|
||||
# --exclude Ferrite/API/Keychain.swift
|
||||
|
||||
# Formatting options
|
||||
--acronyms ID,URL,UUID
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
0CA148E1288903F000DE2211 /* Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CA148C9288903F000DE2211 /* Collection.swift */; };
|
||||
0CA148E2288903F000DE2211 /* Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CA148CA288903F000DE2211 /* Data.swift */; };
|
||||
0CA148E3288903F000DE2211 /* Task.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CA148CB288903F000DE2211 /* Task.swift */; };
|
||||
0CA148E4288903F000DE2211 /* Keychain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CA148CC288903F000DE2211 /* Keychain.swift */; };
|
||||
0CA148E5288903F000DE2211 /* DebridManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CA148CD288903F000DE2211 /* DebridManager.swift */; };
|
||||
0CA148E6288903F000DE2211 /* WebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CA148CE288903F000DE2211 /* WebView.swift */; };
|
||||
0CA148E7288903F000DE2211 /* ToastViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CA148CF288903F000DE2211 /* ToastViewModel.swift */; };
|
||||
|
|
@ -51,7 +50,6 @@
|
|||
0CA148C9288903F000DE2211 /* Collection.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Collection.swift; sourceTree = "<group>"; };
|
||||
0CA148CA288903F000DE2211 /* Data.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Data.swift; sourceTree = "<group>"; };
|
||||
0CA148CB288903F000DE2211 /* Task.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Task.swift; sourceTree = "<group>"; };
|
||||
0CA148CC288903F000DE2211 /* Keychain.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Keychain.swift; sourceTree = "<group>"; };
|
||||
0CA148CD288903F000DE2211 /* DebridManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DebridManager.swift; sourceTree = "<group>"; };
|
||||
0CA148CE288903F000DE2211 /* WebView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebView.swift; sourceTree = "<group>"; };
|
||||
0CA148CF288903F000DE2211 /* ToastViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ToastViewModel.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -160,7 +158,6 @@
|
|||
0CA148F12889066000DE2211 /* API */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
0CA148CC288903F000DE2211 /* Keychain.swift */,
|
||||
0CA148D0288903F000DE2211 /* RealDebridWrapper.swift */,
|
||||
0CA148C4288903F000DE2211 /* RealDebridModels.swift */,
|
||||
);
|
||||
|
|
@ -270,7 +267,6 @@
|
|||
0CBC76FD288D914F0054BE44 /* BatchChoiceView.swift in Sources */,
|
||||
0CA148EC288903F000DE2211 /* ContentView.swift in Sources */,
|
||||
0CA148E1288903F000DE2211 /* Collection.swift in Sources */,
|
||||
0CA148E4288903F000DE2211 /* Keychain.swift in Sources */,
|
||||
0CA148DD288903F000DE2211 /* ScrapingViewModel.swift in Sources */,
|
||||
0CA148D8288903F000DE2211 /* MagnetChoiceView.swift in Sources */,
|
||||
0CA148E3288903F000DE2211 /* Task.swift in Sources */,
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
//
|
||||
// Keychain.swift
|
||||
// Ferrite
|
||||
//
|
||||
// Created by Brian Dashore on 7/20/22.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import KeychainSwift
|
||||
|
||||
public class Keychain {
|
||||
static let shared = KeychainSwift()
|
||||
}
|
||||
|
|
@ -6,6 +6,7 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import KeychainSwift
|
||||
|
||||
public enum RealDebridError: Error {
|
||||
case InvalidUrl
|
||||
|
|
@ -21,7 +22,7 @@ public class RealDebrid: ObservableObject {
|
|||
var parentManager: DebridManager?
|
||||
|
||||
let jsonDecoder = JSONDecoder()
|
||||
let keychain = Keychain()
|
||||
let keychain = KeychainSwift()
|
||||
|
||||
let baseAuthUrl = "https://api.real-debrid.com/oauth/v2"
|
||||
let baseApiUrl = "https://api.real-debrid.com/rest/1.0"
|
||||
|
|
@ -97,7 +98,7 @@ public class RealDebrid: ObservableObject {
|
|||
|
||||
if let clientId = rawResponse?.clientID, let clientSecret = rawResponse?.clientSecret {
|
||||
UserDefaults.standard.set(clientId, forKey: "RealDebrid.ClientId")
|
||||
Keychain.shared.set(clientSecret, forKey: "RealDebrid.ClientSecret")
|
||||
keychain.set(clientSecret, forKey: "RealDebrid.ClientSecret")
|
||||
|
||||
try await getTokens(deviceCode: deviceCode)
|
||||
|
||||
|
|
@ -120,7 +121,7 @@ public class RealDebrid: ObservableObject {
|
|||
throw RealDebridError.EmptyData
|
||||
}
|
||||
|
||||
guard let clientSecret = Keychain.shared.get("RealDebrid.ClientSecret") else {
|
||||
guard let clientSecret = keychain.get("RealDebrid.ClientSecret") else {
|
||||
throw RealDebridError.EmptyData
|
||||
}
|
||||
|
||||
|
|
@ -142,8 +143,8 @@ public class RealDebrid: ObservableObject {
|
|||
|
||||
let rawResponse = try jsonDecoder.decode(TokenResponse.self, from: data)
|
||||
|
||||
Keychain.shared.set(rawResponse.accessToken, forKey: "RealDebrid.AccessToken")
|
||||
Keychain.shared.set(rawResponse.refreshToken, forKey: "RealDebrid.RefreshToken")
|
||||
keychain.set(rawResponse.accessToken, forKey: "RealDebrid.AccessToken")
|
||||
keychain.set(rawResponse.refreshToken, forKey: "RealDebrid.RefreshToken")
|
||||
|
||||
let accessTimestamp = Date().timeIntervalSince1970 + Double(rawResponse.expiresIn)
|
||||
UserDefaults.standard.set(accessTimestamp, forKey: "RealDebrid.AccessTokenStamp")
|
||||
|
|
@ -159,7 +160,7 @@ public class RealDebrid: ObservableObject {
|
|||
|
||||
if Date().timeIntervalSince1970 > accessTokenStamp {
|
||||
do {
|
||||
if let refreshToken = Keychain.shared.get("RealDebrid.RefreshToken") {
|
||||
if let refreshToken = keychain.get("RealDebrid.RefreshToken") {
|
||||
print("Refresh token found")
|
||||
try await getTokens(deviceCode: refreshToken)
|
||||
}
|
||||
|
|
@ -169,22 +170,22 @@ public class RealDebrid: ObservableObject {
|
|||
}
|
||||
}
|
||||
|
||||
return Keychain.shared.get("RealDebrid.AccessToken")
|
||||
return keychain.get("RealDebrid.AccessToken")
|
||||
}
|
||||
|
||||
public func deleteTokens() async throws {
|
||||
Keychain.shared.delete("RealDebrid.RefreshToken")
|
||||
Keychain.shared.delete("RealDebrid.ClientSecret")
|
||||
keychain.delete("RealDebrid.RefreshToken")
|
||||
keychain.delete("RealDebrid.ClientSecret")
|
||||
UserDefaults.standard.removeObject(forKey: "RealDebrid.ClientId")
|
||||
UserDefaults.standard.removeObject(forKey: "RealDebrid.AccessTokenStamp")
|
||||
|
||||
// Run the request, doesn't matter if it fails
|
||||
if let token = Keychain.shared.get("RealDebrid.AccessToken") {
|
||||
if let token = keychain.get("RealDebrid.AccessToken") {
|
||||
var request = URLRequest(url: URL(string: "\(baseApiUrl)/disable_access_token")!)
|
||||
request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
|
||||
_ = try? await URLSession.shared.data(for: request)
|
||||
|
||||
Keychain.shared.delete("RealDebrid.AccessToken")
|
||||
keychain.delete("RealDebrid.AccessToken")
|
||||
}
|
||||
|
||||
Task { @MainActor in
|
||||
|
|
|
|||
Loading…
Reference in a new issue