如何使用alamofire使用auth 2.0

时间:2016-03-31 07:34:39

标签: ios swift webview oauth-2.0

我正在开发一个使用OAuth2.0的应用程序: 我正在做的是通过我的app用户通过webview登录,我正在使用这种方法获取代码:

// MARK: - WEbview  field delegate
      func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool
    {

        print("URL to load--\(request.URLString)")
        if(request.URLString.containsString("code="))
        {
            let urlComponents = NSURLComponents(string: request.URLString)
            let queryItems = urlComponents?.queryItems
            let param1 = queryItems?.filter({$0.name == "code"}).first
            print(param1?.value)
            strCode = param1!.value
            self.callAPI(self)
            return false


        }
        return true
    }

这是我需要在accessstokenAPI中传递的代码

`func callAPI(sender : AnyObject {
        let delegate1 = AppDelegate.sharedObj()
        print(strCode)
        print(delegate1.CLIENT_ID)
        print(delegate1.CLIENT_SECRET)
        let URLpath :String = "https://office.example.com/oauth/access_token"
        let  params : [String :  AnyObject] = ["client_id" :delegate1.CLIENT_ID! , "client_secret" :delegate1.CLIENT_SECRET! , "code" :strCode! , "redirect_uri" : "google.com"]
        print(params)
    apiObj.dataWithPost(URLpath, cTag: 0, paramter: params)
    GlobelHelper.showLoadingView(self.view!)
    }`

所有这些代码都是根据该公司提供的文档 但是我收到了这个错误。

["error": invalid_client, "error_description": Client credentials were not found in the headers or body] 实际上,我不知道这种写法是不是:它在POSTMAN中工作。

任何建议都会非常有用。

0 个答案:

没有答案