Getting error Unsupported grant type?

I cannot enter my application that uses Oath-2 and receives an unsupported_grant_type error. I use Alamofire to log in to the POST system, but cannot succeed. Where am I doing wrong? I can not solve the problem problem.

func sendFeedback ()

func sendFeedback(){


        let parameters = [

            "UserName": username_textfield.text! as String,
            "Password": password_textfield.text! as String,
            "grant_type": "Password" as String,
                    ]


        Alamofire.upload(multipartFormData: { multipartFormData in

            for (key, value) in parameters {
                multipartFormData.append((value.data(using: .utf8))!, withName: key)
            }}, to: "http://192.168.100.5:84/Token", method: .post, headers: ["Authorization": "auth_token"],
                encodingCompletion: { encodingResult in
                    switch encodingResult {
                    case .success(let upload, _, _):
                        upload.response { [weak self] response in
                            guard self != nil else {
                                return
                            }
                            debugPrint(response)
//                            self?.view.hideToastActivity()
                            self?.view.makeToast(message: "Send Successfull. !!!")

                        }
                        upload.uploadProgress(queue: DispatchQueue(label: "uploadQueue"), closure: { (progress) in


                        })
                    case .failure(let encodingError):
                        print("errorss:\(encodingError)")
                    }
        })

    }

I get a 400 status code. How to solve this problem?

+4
source share
1 answer

Try it , it can help you.

let headers = [
           "Content-Type": "application/x-www-form-urlencoded"
       ]
       let parameters = [

           "UserName": username_textfield.text! as String,
           "Password": password_textfield.text! as String,
           "grant_type": "password",
                   ]
       //        let url = NSURL(string: "http://192.168.100.5:84/Token")!
       Alamofire.request("http://192.168.100.5:84/Token", method: .post, parameters: parameters, encoding:  URLEncoding.httpBody, headers: headers).responseJSON { (response:DataResponse<Any>) in

           switch(response.result) {

           case .success(_):
               if response.result.value != nil{
//                    print(response.result.value ?? )
                   let statusCode = (response.response?.statusCode)!
                   print("...HTTP code: \(statusCode)")
               }
               break

           case .failure(_):
//                print(response.result.error ?? )
               break

           }
       }
+3
source

Source: https://habr.com/ru/post/1679871/


All Articles