Skip to content

Commit 69e667c

Browse files
committed
some cleanup of extra prints and old code
1 parent dc22b91 commit 69e667c

1 file changed

Lines changed: 0 additions & 82 deletions

File tree

Xcodes/AppleAPI/Sources/AppleAPI/Client.swift

Lines changed: 0 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,6 @@ public class Client {
4141
.eraseToAnyPublisher()
4242
}
4343
.flatMap { (serviceKey, hashcash, srpInit) -> AnyPublisher<URLSession.DataTaskPublisher.Output, Swift.Error> in
44-
print("SRP INIT REsponse: \(srpInit)")
45-
4644
guard let decodedB = Data(base64Encoded: srpInit.b) else {
4745
return Fail(error: AuthenticationError.srpInvalidPublicKey)
4846
.eraseToAnyPublisher()
@@ -56,27 +54,20 @@ public class Client {
5654
let iterations = srpInit.iteration
5755

5856
do {
59-
6057
guard let encryptedPassword = self.pbkdf2(password: password, saltData: decodedSalt, keyByteCount: 32, prf: CCPseudoRandomAlgorithm(kCCPRFHmacAlgSHA256), rounds: iterations) else {
6158
return Fail(error: AuthenticationError.srpInvalidPublicKey)
6259
.eraseToAnyPublisher()
6360
}
6461

65-
// let m1 = try client.processChallenge(salt: decodedSalt, publicKey: decodedB, isEncryptedPassword: true, encryptedPassword: encryptedPassword.hexEncodedString())
66-
let encryptedPasswordString = encryptedPassword.base64EncodedString()
6762
let sharedSecret = try client.calculateSharedSecret(password: encryptedPassword, salt: [UInt8](decodedSalt), clientKeys: clientKeys, serverPublicKey: .init([UInt8](decodedB)))
68-
// let m1 = try client.processChallenge(salt: decodedSalt, publicKey: decodedB, encryptedPassword: encryptedPasswordString)
6963

7064
let m1 = client.calculateClientProof(username: accountName, salt: [UInt8](decodedSalt), clientPublicKey: a, serverPublicKey: .init([UInt8](decodedB)), sharedSecret: .init(sharedSecret.bytes))
7165
let m2 = client.calculateServerProof(clientPublicKey: a, clientProof: m1, sharedSecret: .init([UInt8](sharedSecret.bytes)))
72-
print("m1: \(Data(m1).base64EncodedString())")
73-
print("m2: \(Data(m2).base64EncodedString())")
7466

7567
return Current.network.dataTask(with: URLRequest.SRPComplete(serviceKey: serviceKey, hashcash: hashcash, accountName: accountName, c: srpInit.c, m1: Data(m1).base64EncodedString(), m2: Data(m2).base64EncodedString()))
7668
.mapError { $0 as Swift.Error }
7769
.eraseToAnyPublisher()
7870
} catch {
79-
print("Error: calculateSharedSecret \(error)")
8071
return Fail(error: AuthenticationError.srpInvalidPublicKey)
8172
.eraseToAnyPublisher()
8273
}
@@ -114,79 +105,6 @@ public class Client {
114105
}
115106
.eraseToAnyPublisher()
116107
}
117-
// .map(\.data)
118-
// .decode(type: ServerSRPInitResponse.self, decoder: JSONDecoder())
119-
//
120-
//
121-
//
122-
// .flatMap { result -> AnyPublisher<AuthenticationState, Swift.Error> in
123-
// return ("")
124-
// }
125-
// .flatMap { serverResponse -> AnyPublisher<AuthenticationState, Error> in
126-
// print(serverResponse)
127-
// return Fail(error: AuthenticationError.accountUsesTwoStepAuthentication)
128-
// .eraseToAnyPublisher()
129-
// }
130-
.mapError { $0 as Swift.Error }
131-
.eraseToAnyPublisher()
132-
}
133-
134-
135-
public func login(accountName: String, password: String) -> AnyPublisher<AuthenticationState, Swift.Error> {
136-
var serviceKey: String!
137-
138-
return Current.network.dataTask(with: URLRequest.itcServiceKey)
139-
.map(\.data)
140-
.decode(type: ServiceKeyResponse.self, decoder: JSONDecoder())
141-
.flatMap { serviceKeyResponse -> AnyPublisher<(String, String), Swift.Error> in
142-
serviceKey = serviceKeyResponse.authServiceKey
143-
144-
// Fixes issue https://github.com/RobotsAndPencils/XcodesApp/issues/360
145-
// On 2023-02-23, Apple added a custom implementation of hashcash to their auth flow
146-
// Without this addition, Apple ID's would get set to locked
147-
return self.loadHashcash(accountName: accountName, serviceKey: serviceKey)
148-
.map { return (serviceKey, $0)}
149-
.eraseToAnyPublisher()
150-
}
151-
.flatMap { (serviceKey, hashcash) -> AnyPublisher<URLSession.DataTaskPublisher.Output, Swift.Error> in
152-
153-
return Current.network.dataTask(with: URLRequest.signIn(serviceKey: serviceKey, accountName: accountName, password: password, hashcash: hashcash))
154-
.mapError { $0 as Swift.Error }
155-
.eraseToAnyPublisher()
156-
}
157-
.flatMap { result -> AnyPublisher<AuthenticationState, Swift.Error> in
158-
let (data, response) = result
159-
return Just(data)
160-
.decode(type: SignInResponse.self, decoder: JSONDecoder())
161-
.flatMap { responseBody -> AnyPublisher<AuthenticationState, Swift.Error> in
162-
let httpResponse = response as! HTTPURLResponse
163-
164-
switch httpResponse.statusCode {
165-
case 200:
166-
return Current.network.dataTask(with: URLRequest.olympusSession)
167-
.map { _ in AuthenticationState.authenticated }
168-
.mapError { $0 as Swift.Error }
169-
.eraseToAnyPublisher()
170-
case 401:
171-
return Fail(error: AuthenticationError.invalidUsernameOrPassword(username: accountName))
172-
.eraseToAnyPublisher()
173-
case 403:
174-
let errorMessage = responseBody.serviceErrors?.first?.description.replacingOccurrences(of: "-20209: ", with: "") ?? ""
175-
return Fail(error: AuthenticationError.accountLocked(errorMessage))
176-
.eraseToAnyPublisher()
177-
case 409:
178-
return self.handleTwoStepOrFactor(data: data, response: response, serviceKey: serviceKey)
179-
case 412 where Client.authTypes.contains(responseBody.authType ?? ""):
180-
return Fail(error: AuthenticationError.appleIDAndPrivacyAcknowledgementRequired)
181-
.eraseToAnyPublisher()
182-
default:
183-
return Fail(error: AuthenticationError.unexpectedSignInResponse(statusCode: httpResponse.statusCode,
184-
message: responseBody.serviceErrors?.map { $0.description }.joined(separator: ", ")))
185-
.eraseToAnyPublisher()
186-
}
187-
}
188-
.eraseToAnyPublisher()
189-
}
190108
.mapError { $0 as Swift.Error }
191109
.eraseToAnyPublisher()
192110
}

0 commit comments

Comments
 (0)