获取错误不支持的授权类型?

Bik*_*kur 5 post oauth ios alamofire swift3

我无法登录使用Oath-2的应用程序并获得unsupported_grant_type的错误.我正在使用Alamofire发布登录数据但无法成功.我在哪做错了?我无法解决问题.

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)")
                    }
        })

    }
Run Code Online (Sandbox Code Playgroud)

我的状态代码为400.如何解决这个问题?

seo*_*eon 5

试试这个,这可能会对你有所帮助

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

           }
       }
Run Code Online (Sandbox Code Playgroud)