working jwt
This commit is contained in:
parent
dc6b03dd3c
commit
4f2e0f245c
@ -8,7 +8,6 @@
|
|||||||
|
|
||||||
import UIKit
|
import UIKit
|
||||||
import SwiftyJSON
|
import SwiftyJSON
|
||||||
import KeychainAccess
|
|
||||||
|
|
||||||
@UIApplicationMain
|
@UIApplicationMain
|
||||||
class AppDelegate: UIResponder, UIApplicationDelegate {
|
class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||||
|
@ -44,27 +44,40 @@ class LiveUser: ObservableObject {
|
|||||||
|
|
||||||
let api = PlaylistApi.getPlaylists
|
let api = PlaylistApi.getPlaylists
|
||||||
RequestBuilder.buildRequest(apiRequest: api).responseJSON{ response in
|
RequestBuilder.buildRequest(apiRequest: api).responseJSON{ response in
|
||||||
|
|
||||||
|
switch response.result {
|
||||||
|
case .success:
|
||||||
|
|
||||||
guard let data = response.data else {
|
guard let data = response.data else {
|
||||||
fatalError("error getting playlists")
|
fatalError("error getting playlists")
|
||||||
}
|
}
|
||||||
|
|
||||||
guard let json = try? JSON(data: data) else {
|
guard let json = try? JSON(data: data) else {
|
||||||
fatalError("error parsing reponse")
|
fatalError("error parsing reponse")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let playlists = json["playlists"].arrayValue
|
||||||
|
|
||||||
let playlists = json["playlists"].arrayValue
|
// update state
|
||||||
|
self.playlists = PlaylistApi.fromJSON(playlist: playlists).sorted(by: { $0.name.lowercased() < $1.name.lowercased() })
|
||||||
// update state
|
|
||||||
self.playlists = PlaylistApi.fromJSON(playlist: playlists).sorted(by: { $0.name.lowercased() < $1.name.lowercased() })
|
self.isRefreshingPlaylists = false
|
||||||
|
|
||||||
self.isRefreshingPlaylists = false
|
let encoder = JSONEncoder()
|
||||||
|
do {
|
||||||
let encoder = JSONEncoder()
|
UserDefaults.standard.set(String(data: try encoder.encode(playlists), encoding: .utf8), forKey: "playlists")
|
||||||
do {
|
} catch {
|
||||||
UserDefaults.standard.set(String(data: try encoder.encode(playlists), encoding: .utf8), forKey: "playlists")
|
print("error encoding playlists: \(error)")
|
||||||
} catch {
|
}
|
||||||
print("error encoding playlists: \(error)")
|
|
||||||
|
case .failure:
|
||||||
|
|
||||||
|
switch response.response?.statusCode {
|
||||||
|
case 401:
|
||||||
|
self.loggedIn = false
|
||||||
|
case _:
|
||||||
|
print("error")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -43,16 +43,8 @@ public enum AuthMethod {
|
|||||||
struct RequestBuilder {
|
struct RequestBuilder {
|
||||||
static func buildRequest(apiRequest: ApiRequest) -> Alamofire.DataRequest {
|
static func buildRequest(apiRequest: ApiRequest) -> Alamofire.DataRequest {
|
||||||
|
|
||||||
print(apiRequest.authMethod)
|
|
||||||
print(apiRequest.headers)
|
|
||||||
print(apiRequest.httpMethod)
|
|
||||||
|
|
||||||
let txHeaders = apiRequest.authMethod?.auth(headers: apiRequest.headers)
|
let txHeaders = apiRequest.authMethod?.auth(headers: apiRequest.headers)
|
||||||
|
|
||||||
print(txHeaders)
|
|
||||||
print(apiRequest.parameters)
|
|
||||||
print(apiRequest.domain + apiRequest.path)
|
|
||||||
|
|
||||||
if apiRequest.parameters != nil {
|
if apiRequest.parameters != nil {
|
||||||
if apiRequest.parameterType != nil {
|
if apiRequest.parameterType != nil {
|
||||||
|
|
||||||
|
@ -39,10 +39,7 @@ struct LoginScreen: View {
|
|||||||
let keychain = Keychain(service: "xyz.sarsoo.music.login")
|
let keychain = Keychain(service: "xyz.sarsoo.music.login")
|
||||||
|
|
||||||
keychain["username"] = username
|
keychain["username"] = username
|
||||||
keychain["password"] = password
|
// keychain["password"] = password
|
||||||
|
|
||||||
print(username)
|
|
||||||
print(password)
|
|
||||||
|
|
||||||
let api = AuthApi.token(username: username, password: password)
|
let api = AuthApi.token(username: username, password: password)
|
||||||
RequestBuilder.buildRequest(apiRequest: api)
|
RequestBuilder.buildRequest(apiRequest: api)
|
||||||
|
@ -29,6 +29,7 @@ struct SettingsList: View {
|
|||||||
do {
|
do {
|
||||||
try keychain.remove("username")
|
try keychain.remove("username")
|
||||||
try keychain.remove("password")
|
try keychain.remove("password")
|
||||||
|
try keychain.remove("jwt")
|
||||||
|
|
||||||
self.liveUser.loggedIn = false
|
self.liveUser.loggedIn = false
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user