2017-07-02 18 views
1

すべて 私はWebサーバー上でswiftで認証できません。 郵便配達員が私のウェブサーバーで認証できます。ステータスコード401が迅速に認証に関する問題

これは、これは私の迅速で enter image description here

郵便配達です。

class ViewController: UIViewController { 
     let authLoginUrl = "http://ec2-52-79-171-171.ap-northeast-2.compute.amazonaws.com:8000/rest-auth/login/" 
     let keychain = Keychain(service: "wanote") 
     let tokenUse = "Token 869463aacc84f0fb9edfb251fa73b352fc52a4d5" 
     let projectUrl = "http://ec2-52-79-171-171.ap-northeast-2.compute.amazonaws.com:8000/api/user/ryulstory" 
     override func viewDidLoad() { 
      super.viewDidLoad() 
      // Do any additional setup after loading the view, typically from a nib. 
      if let Purl = URL(string: self.projectUrl){ 
       var mutableUrlRequest = URLRequest(url: Purl) 
       mutableUrlRequest.setValue(self.tokenUse, forHTTPHeaderField: "Authorization") 
       mutableUrlRequest.httpMethod = "GET" 
       _ = Alamofire.SessionManager.default.request(mutableUrlRequest) 
        .responseJSON{ response in 
         print(response.request) 
         print(response.response) 
         print(response.data) 
         print(response.result) 
      } 
     } 
    } 
     override func didReceiveMemoryWarning() { 
      super.didReceiveMemoryWarning() 
      // Dispose of any resources that can be recreated. 
     } 


    } 

私はsetvalueが多分間違っていると思います。何が間違っているか教えてくれますか?

答えて

0

mutableUrlRequest.setValue(self.tokenUse, forHTTPHeaderField: "Authorization")には、self.tokenUseがお客様のクライアントIDである必要があります。それが正しい場合は、tokenUseに「トークン」という接頭辞が付いているのはなぜですか?

あなたはYESApp Transport SecurityAllow Arbitrary Loadsを挿入しました。この

let headers: HTTPHeaders = [ 
    "Authorization": self.tokenUse, 
    "Accept": "application/json" 
] 

Alamofire.request("http://ec2-52-79-171-171.ap-northeast-2.compute.amazonaws.com:8000/api/user/ryulstory", headers: headers).responseJSON { response in 

    debugPrint(response) 
} 
+1

私は、HTTPヘッダーフィールドはキー(認証)と同じで、self.tokenUseは郵便番号の値と同じだと思います。郵便配達員の場合はトークンプレフィックスが必要です。 –

+0

Alamofireを使用しているときに、編集した回答でもう一度お試しください。 – Lawliet

0

を試してみてください?あなたのInfo.plistに?このplist変更により、Appleのトランスポートセキュリティルールは、200 HTTPサーバでリクエストを行うことができます。

+0

はい、私はすでにそれを行います。 401エラーがあります。 –

関連する問題