Advertisement
Guest User

Untitled

a guest
May 8th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 2.57 KB | None | 0 0
  1. func userAuthorized() -> Bool {
  2.         let username : String = UserDefaults.standard.string(forKey: "username") ?? ""
  3.         let password : String = UserDefaults.standard.string(forKey: "password") ?? ""
  4. //        let tokenSaved : String = UserDefaults.standard.string(forKey: "token") ?? ""
  5.         var tempToken:String = ""
  6.  
  7.         if(!username.isEmpty && !password.isEmpty)
  8.         {
  9.              let json: [String: String] = ["username": username, "password": password]
  10.             login(json: json) { [weak self] token in
  11.                 guard let self = self
  12.                     else { return }
  13.                 guard let token = token, !token.isEmpty
  14.                     else {
  15.                         print("error")
  16.  
  17.                         return
  18.                        
  19.                 }
  20.                 print("ok")
  21.                 print(token)
  22.  
  23.                 tempToken = token
  24.                 UserDefaults.standard.setValue(username, forKey: "userEmail");
  25.                 UserDefaults.standard.setValue(password, forKey: "userPassword");
  26.                 UserDefaults.standard.setValue(token, forKey: "token");
  27.                 UserDefaults.standard.synchronize();
  28.            
  29.         }
  30.         }
  31.         else
  32.         {
  33.             return false
  34.         }
  35.         if(!tempToken.isEmpty){
  36.             return true
  37.         }
  38.         return false
  39.    }
  40.  
  41. func login(json: Any, callback: @escaping (_ token: String?) -> ()) {
  42.     guard let url = URL(string: ngrok+"/api/auth/token/create")else{return}
  43.     var request = URLRequest(url: url)
  44.     request.httpMethod = "POST"
  45.     request.setValue("application/json", forHTTPHeaderField:"Content-Type")
  46.    
  47.     guard let httpBody = try? JSONSerialization.data(withJSONObject: json, options: [])else {return}
  48.     request.httpBody = httpBody
  49.    
  50.     let session = URLSession.shared
  51.     session.dataTask(with: request){(data, response, error) in //здесь обрывается
  52.         if let response = response{
  53.             print(response)
  54.         }
  55.         guard let data = data else{return}
  56.         do{
  57.             print(data)
  58.             if let json_response = try JSONSerialization.jsonObject(with: data, options: [])as? [String:Any]{
  59.                
  60.                 if let temp_token = json_response["auth_token"]{
  61.                     print(temp_token as! String)
  62.                     DispatchQueue.main.async {      callback(temp_token as? String)
  63.                     }
  64.                 }
  65.             }
  66.         }
  67.            
  68.         catch{
  69.             print(error)
  70.         }
  71.         }.resume()
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement