2017-02-27 13 views
1

動作しません。基本認証は、私はAlamofireの基本認証サポートを使用しようとしている

私は私の自己ヘッダー認証を追加する場合:

let authString = "\(user):\(passwordHashAsHex)" 

guard let auth = authString.data(using: String.Encoding.utf8) else { 
     throw ... 
} 

request.setValue("Basic \(auth.base64EncodedString())", 
    forHTTPHeaderField: "Authorization" 
) 

それだけで正常に動作します。

Alamofireの完了/レスポンスハンドラ内response.request!.allHTTPHeaderFieldsの確認、私はエントリAuthorizationが存在しないことに注意してください。何故なの? the documentationを慎重に読め

答えて

1

我々は見つける:

Requestのauthenticateメソッドが自動的にURLAuthenticationChallenge適切な場合にURLCredentialを提供します。

...

サーバーの実装に応じて、Authorizationヘッダも適切かもしれません。

私のサーバーは後者のみバリアントを受け入れているようですので、私は確かに手動でヘッダーを追加するを持っています。 Request.authorizationHeaderは面倒な作業をすることができます。

関連する問題