2016-10-28 177 views
0

我無法以身份驗證用戶身份登錄到Drupal服務。我嘗試了'基本身份驗證'的設置,'http身份驗證',沒有身份驗證,似乎沒有任何區別。我正在使用管理員登錄信息。經過驗證的用戶登錄信息的結果相同。我能夠返回數據,例如允許匿名用戶訪問的投票。當我直接在網站上嘗試時,我可以以身份驗證的用戶身份登錄服務,例如example.com/ios1/user/1。但是用我的Xcode7 swift2 api,每次我的drupal日誌都顯示我只以匿名用戶身份連接。因此,當我嘗試GET查詢用戶詳細信息(需要身份驗證)時,它會返回訪問被拒絕。我需要什麼代碼頭?Drupal服務無法以經過身份驗證的用戶身份登錄

這是我一直使用的是什麼:

let user = "exampleName" 
    let password = "examplePass" 

    let credentialData = "\(user):\(password)".dataUsingEncoding(NSUTF8StringEncoding)! 
    let base64Credentials = credentialData.base64EncodedStringWithOptions([]) 
    let headers = ["Content-Type : application/json"] 

回答

0

解決。在Drupal的服務,我選擇「HTTP基本身份驗證」,不得不改變頭這一點,再加上加「標題:標題」到alamofire請求,因爲這樣的:

let headers = ["Authorization": "Basic \(base64Credentials)"] 

    //instead if this: let headers = ["Content-Type : application/json"] 

和Alamofire請求;

Alamofire.request(.GET, Endpoint, parameters: nil, headers: headers, encoding: .JSON) 
     .response { request, response, data, error in 
      debugPrint(response) 
      print(request) 
      print (response) 
      print (error)