2017-02-27 2 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에 인증 할 방법은 자동으로 URLCredentialURLAuthenticationChallenge A를을 제공 할 것입니다. 서버 구현에 따라

...

, Authorization 헤더도 적합 할 수 있습니다.

내 서버는 후자의 변형을 받아들이는 것 같다, 그래서 참으로 수동으로 헤더를 추가 있습니다. Request.authorizationHeader은 쓸데없는 일을 처리 할 수 ​​있습니다.

관련 문제