Prevent read on unlogged server
This commit is contained in:
parent
adb32a3d3d
commit
e638759afb
|
@ -14,25 +14,25 @@ extension MMKV {
|
|||
return mmkv
|
||||
}
|
||||
|
||||
func userToken(for userId: String) -> String {
|
||||
func userToken(for userId: String) -> String? {
|
||||
guard let userToken = string(forKey: "reactnativemeteor_usertoken-\(userId)") else {
|
||||
fatalError("userToken is nil for userId \(userId)")
|
||||
return nil
|
||||
}
|
||||
|
||||
return userToken
|
||||
}
|
||||
|
||||
func userId(for server: String) -> String {
|
||||
func userId(for server: String) -> String? {
|
||||
guard let userId = string(forKey: "reactnativemeteor_usertoken-\(server)") else {
|
||||
fatalError("userId is nil for server \(server)")
|
||||
return nil
|
||||
}
|
||||
|
||||
return userId
|
||||
}
|
||||
|
||||
func privateKey(for server: String) -> String {
|
||||
func privateKey(for server: String) -> String? {
|
||||
guard let privateKey = string(forKey: "\(server)-RC_E2E_PRIVATE_KEY") else {
|
||||
fatalError("privateKey is nil for server \(server)")
|
||||
return nil
|
||||
}
|
||||
|
||||
return privateKey
|
||||
|
|
|
@ -1,23 +1,24 @@
|
|||
import Foundation
|
||||
|
||||
struct Credentials {
|
||||
let userId: String
|
||||
let userToken: String
|
||||
let userId: String
|
||||
let userToken: String
|
||||
}
|
||||
|
||||
final class Storage {
|
||||
static let shared = Storage()
|
||||
|
||||
private let mmkv = MMKV.build()
|
||||
|
||||
func getCredentials(server: String) -> Credentials {
|
||||
let userId = mmkv.userId(for: server)
|
||||
let userToken = mmkv.userToken(for: userId)
|
||||
|
||||
return .init(userId: userId, userToken: userToken)
|
||||
}
|
||||
|
||||
func getPrivateKey(server: String) -> String {
|
||||
mmkv.privateKey(for: server)
|
||||
}
|
||||
static let shared = Storage()
|
||||
|
||||
private let mmkv = MMKV.build()
|
||||
|
||||
func getCredentials(server: String) -> Credentials? {
|
||||
guard let userId = mmkv.userId(for: server), let userToken = mmkv.userToken(for: userId) else {
|
||||
return nil
|
||||
}
|
||||
|
||||
return .init(userId: userId, userToken: userToken)
|
||||
}
|
||||
|
||||
func getPrivateKey(server: String) -> String? {
|
||||
mmkv.privateKey(for: server)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,8 +41,10 @@ final class WatchConnection: NSObject {
|
|||
let serversQuery = database.query(raw: "select * from servers") as [DBServer]
|
||||
|
||||
let servers = serversQuery.compactMap { item -> WatchMessage.Server? in
|
||||
let userId = mmkv.userId(for: item.identifier)
|
||||
let userToken = mmkv.userToken(for: userId)
|
||||
guard let userId = mmkv.userId(for: item.identifier), let userToken = mmkv.userToken(for: userId) else {
|
||||
return nil
|
||||
}
|
||||
|
||||
let clientSSL = mmkv.clientSSL(for: item.url)
|
||||
|
||||
let usersQuery = database.query(raw: "select * from users where token == ? limit 1", [userToken]) as [DBUser]
|
||||
|
|
Loading…
Reference in New Issue