Skip to content

Commit

Permalink
Hash Device ID and remove other uses
Browse files Browse the repository at this point in the history
  • Loading branch information
JHawk0224 committed Oct 9, 2023
1 parent f680c6b commit f04fcf6
Show file tree
Hide file tree
Showing 5 changed files with 6 additions and 34 deletions.
3 changes: 0 additions & 3 deletions PennMobile/GSR-Booking/Networking/GSRNetworkManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -100,9 +100,6 @@ class GSRNetworkManager: NSObject, Requestable {
request.httpMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")

let deviceID = getDeviceID()
request.setValue(deviceID, forHTTPHeaderField: "X-Device-ID")

let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssXXXXX"
Expand Down
4 changes: 0 additions & 4 deletions PennMobile/General/Networking + Analytics/Networking.swift
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,6 @@ extension Requestable {
let request = NSMutableURLRequest(url: url)
request.cachePolicy = .reloadIgnoringCacheData

let deviceID = getDeviceID()
request.setValue(deviceID, forHTTPHeaderField: "X-Device-ID")
if let accountID = UserDefaults.standard.getAccountID() {
request.setValue(accountID, forHTTPHeaderField: "X-Account-ID")
}
Expand Down Expand Up @@ -136,8 +134,6 @@ extension Requestable {
internal func getAnalyticsRequest(url: String) -> NSMutableURLRequest {
let url = URL(string: url)!
let request = NSMutableURLRequest(url: url)
let deviceID = getDeviceID()
request.setValue(deviceID, forHTTPHeaderField: "X-Device-ID")
if let accountID = UserDefaults.standard.getAccountID() {
request.setValue(accountID, forHTTPHeaderField: "X-Account-ID")
}
Expand Down
21 changes: 0 additions & 21 deletions PennMobile/General/Networking + Analytics/UserDBManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,6 @@ import UIKit
import SwiftyJSON
import PennMobileShared

func getDeviceID() -> String {
let deviceID = UIDevice.current.identifierForVendor!.uuidString
#if DEBUG
return "test"
#else
return deviceID
#endif
}

class UserDBManager: NSObject, Requestable, SHA256Hashable {
static let shared = UserDBManager()
fileprivate let baseUrl = "https://api.pennlabs.org"
Expand Down Expand Up @@ -153,9 +144,6 @@ extension UserDBManager {
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSON(params).rawData()

let deviceID = getDeviceID()
request.setValue(deviceID, forHTTPHeaderField: "X-Device-ID")

let task = URLSession.shared.dataTask(with: request)
task.resume()
}
Expand All @@ -167,9 +155,6 @@ extension UserDBManager {
let url = URL(string: url)!
var request = token != nil ? URLRequest(url: url, accessToken: token!) : URLRequest(url: url)

let deviceID = getDeviceID()
request.setValue(deviceID, forHTTPHeaderField: "X-Device-ID")

let task = URLSession.shared.dataTask(with: request) { (data, _, _) in
if let data = data, let rooms = JSON(data)["rooms"].arrayObject {
callback(rooms.compactMap { $0 as? Int })
Expand Down Expand Up @@ -600,9 +585,6 @@ extension UserDBManager {
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSON(params).rawData()

let deviceID = getDeviceID()
request.setValue(deviceID, forHTTPHeaderField: "X-Device-ID")

let task = URLSession.shared.dataTask(with: request)
task.resume()
}
Expand All @@ -614,9 +596,6 @@ extension UserDBManager {
let url = URL(string: url)!
var request = token != nil ? URLRequest(url: url, accessToken: token!) : URLRequest(url: url)

let deviceID = getDeviceID()
request.setValue(deviceID, forHTTPHeaderField: "X-Device-ID")

let task = URLSession.shared.dataTask(with: request) { (data, _, _) in
if let data = data, let rooms = JSON(data)["rooms"].arrayObject {
callback(rooms.compactMap { $0 as? Int })
Expand Down
2 changes: 1 addition & 1 deletion PennMobile/Polls/Model/PollQuestion.swift
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ struct PollQuestion: Codable {

struct PollPost: Codable {
let id: Int
let idHash: UUID
let idHash: String
let poll: PollQuestion
let pollOptions: [PollOption]
//let createdDate: Date
Expand Down
10 changes: 5 additions & 5 deletions PennMobile/Polls/Networking/PollsNetworkManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import Foundation
import SwiftyJSON
import PennMobileShared

class PollsNetworkManager: NSObject, Requestable {
class PollsNetworkManager: NSObject, Requestable, SHA256Hashable {
static let id = UIDevice.current.identifierForVendor?.uuidString ?? ""
static let instance = PollsNetworkManager()
let pollURL = URL(string: "https://pennmobile.org/api/portal/polls/browse/")
Expand All @@ -22,7 +22,7 @@ class PollsNetworkManager: NSObject, Requestable {
if let token = await OAuth2NetworkManager.instance.getAccessTokenAsync() {
var request = URLRequest(url: self.allVotesURL!, accessToken: token)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let jsonData = try? JSONSerialization.data(withJSONObject: ["id_hash": PollsNetworkManager.id])
let jsonData = try? JSONSerialization.data(withJSONObject: ["id_hash": hash(string: PollsNetworkManager.id, encoding: .base64)])
request.httpBody = jsonData
request.httpMethod = "POST"

Expand All @@ -44,7 +44,7 @@ class PollsNetworkManager: NSObject, Requestable {
if let token = await OAuth2NetworkManager.instance.getAccessTokenAsync() {
var request = URLRequest(url: self.pollURL!, accessToken: token)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let jsonData = try? JSONSerialization.data(withJSONObject: ["id_hash": PollsNetworkManager.id])
let jsonData = try? JSONSerialization.data(withJSONObject: ["id_hash": hash(string: PollsNetworkManager.id, encoding: .base64)])
request.httpBody = jsonData
request.httpMethod = "POST"

Expand All @@ -66,7 +66,7 @@ class PollsNetworkManager: NSObject, Requestable {
if let token = await OAuth2NetworkManager.instance.getAccessTokenAsync() {
var request = URLRequest(url: self.recentsURL!, accessToken: token)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let jsonData = try? JSONSerialization.data(withJSONObject: ["id_hash": PollsNetworkManager.id])
let jsonData = try? JSONSerialization.data(withJSONObject: ["id_hash": hash(string: PollsNetworkManager.id, encoding: .base64)])
request.httpBody = jsonData
request.httpMethod = "POST"

Expand All @@ -88,7 +88,7 @@ class PollsNetworkManager: NSObject, Requestable {
if let token = await OAuth2NetworkManager.instance.getAccessTokenAsync() {
var request = URLRequest(url: self.votesURL!, accessToken: token)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let jsonData = try? JSONSerialization.data(withJSONObject: ["id_hash": id, "poll_options": [response]] as [String: Any])
let jsonData = try? JSONSerialization.data(withJSONObject: ["id_hash": hash(string: id, encoding: .base64), "poll_options": [response]] as [String: Any])
request.httpBody = jsonData
request.httpMethod = "POST"

Expand Down

0 comments on commit f04fcf6

Please sign in to comment.