Skip to content

Commit

Permalink
Merge pull request #116 from Clkw0rk/special_characters_for_ropg_pass…
Browse files Browse the repository at this point in the history
…words

add encoding for special characters to tokenmanager
  • Loading branch information
twocanoes authored Nov 3, 2023
2 parents 1311959 + 73aa031 commit 4ccc5eb
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions XCreds/TokenManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ class TokenManager {

}
else {
TCSLogErrorWithMark("got status code of \(response.statusCode):\(response)")
TCSLogErrorWithMark("Failed to verify credentials status code returned: \(response.statusCode):\(response)")
completion(false,false)

}
Expand All @@ -216,7 +216,13 @@ class TokenManager {
return
}
let base64LoginString = loginData.base64EncodedString()
let parameters = "grant_type=password&username=\(userName)&password=\(keychainPassword)&scope=offline_access"
let urlEncodedUsername = userName.addingPercentEncoding(withAllowedCharacters: .urlUserAllowed)
let urlEncodedPassword = keychainPassword.addingPercentEncoding(withAllowedCharacters: .urlPasswordAllowed)
guard let urlEncodedPassword = urlEncodedPassword, let urlEncodedUsername = urlEncodedUsername else {
completion(false,true)
return
}
let parameters = "grant_type=password&username=\(urlEncodedUsername)&password=\(urlEncodedPassword)&scope=offline_access"

let postData = parameters.data(using: .utf8)
req.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization")
Expand Down

0 comments on commit 4ccc5eb

Please sign in to comment.