код
Я уже вошел в систему и тоже распечатал токен, но он по-прежнему не авторизован
@IBAction func onClickLoginbutton(_ sender: UIButton) {
guard let email = Email.text, letpassword = Password.text else { return
р>
Код: Выделить всё
Auth.auth().signIn(withEmail: email, password: password) { [weak self] authResult, error in
guard let authResult = authResult, error == nil else {
print("Error: \(error!.localizedDescription)")
return
}
print("Logged in successfully!")
self?.fetchTasks()
}
}
func fetchTasks() {
guard let currentUser = Auth.auth().currentUser else {
print("Error: User not authenticated")
return
}
currentUser.getIDTokenResult(forcingRefresh: false) { (tokenResult, error) in
guard error == nil, let token = tokenResult?.token else {
print("Error getting ID token: \(error?.localizedDescription ?? "Unknown error")")
return
}
print("Token: \(token)")
self.makeRESTCall(withToken: token)
}
}
func makeRESTCall(withToken token: String) {
let databaseURL = "https://info-6125-5c725-default-rtdb.firebaseio.com/proj.json"
guard let url = URL(string: databaseURL) else {
print("Error: Invalid URL")
return
}
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
let session = URLSession.shared
let task = session.dataTask(with: request) { (data, response, error) in
guard let data = data, error == nil else {
print("Error fetching tasks: \(error?.localizedDescription ?? "Unknown error")")
return
}
guard let httpResponse = response as? HTTPURLResponse else {
print("Error: Invalid HTTP response")
return
}
print("HTTP Status Code: \(httpResponse.statusCode)")
if let jsonString = String(data: data, encoding: .utf8) {
print("Raw JSON Data: \(jsonString)")
} else {
print("Error converting data to string")
}
DispatchQueue.main.async {
}
}
task.resume()
}
выход
WwiOiJ3X2pleWFzZWVsYW4yMDA5NjBAZmFuc2hhd2VvbmxpbmUuY2EiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsImZpcmViYXNlIjp7ImlkZW 50aXRpZXMiOnsiZW1haWwiOlsid19qZXlhc2VlbGFuMjAwOTYwQGZhbnNoYXdlb25saW5lLmNhIl19LCJzaWduX2luX3Byb3ZpZGVyIjoicGFzc3dvcmQifX0.SLNTcugBX8uhbBW0VV1H3NombyDm1jIPn 6kRkh7rATdra0HXKxJZj6bJjMaHsROQMQrHRL_nM1QeyAmBWsnWFG8e06V4zUog4_LeZCDil0HamMczAqpnyqeK82RBDR23ncSMTq2FGDUNDmIiP7i6q-akGxLs99jB5xA2wZoUZDIdJOgdwYf5m kzf6OLGL9uIRdg-N4F-visICQ2MgIbkBPsvGLcdvOwdN2ePnx_Mm_Dcf2xTmeOEFx8sdSr-b6XJWUgz1LFp4wQHg6FJX3h-xn7RycEPY2NDSyvoWsvc92t4y1gGeGJBglhk6eu8Zd_ 8JScUwuwBjYJ3kSG32WkTlgКод состояния HTTP: 401
Необработанные данные JSON: {
"ошибка": "Несанкционированный запрос".
выше — токен
Подробнее здесь: https://stackoverflow.com/questions/782 ... ised-error