小编Wal*_*ena的帖子

使用Alamofire进行基本身份验证

使用Basic Auth进行身份验证时遇到问题.我正在使用符合URLRequestConvertible协议的标准枚举来构造我的请求.问题是,当我在枚举中手动设置授权标头时,如下所示:

    let user = ***
    let password = ***

    let credentialData = "\(user):\(password)".dataUsingEncoding(NSUTF8StringEncoding)!
    let base64Credentials = credentialData.base64EncodedStringWithOptions([])

    mutableURLRequest.setValue("Basic \(base64Credentials)", forHTTPHeaderField: "Authorization")
Run Code Online (Sandbox Code Playgroud)

我总是得到401未经授权的回复.但是,如果我使用authenticate回调设置密码,如下所示:

    Alamofire.request(request)
        .authenticate(user: "USERNAME_HERE", password: "PASSWORD_HERE")
        .responseJSON { (response) -> Void in
            print("JSON response \(response)")
            completion(success: true, error: nil)
    }
Run Code Online (Sandbox Code Playgroud)

它正确验证.我希望能够在enum中手动设置它,URLRequestConvertible而不是传入凭据authenticate.

我知道它正在使用NSURLCredential引擎盖来进行auth挑战,但我希望能够手动设置它.

这是我的URLRequestConvertible实现:

enum CheckedUpAPI: URLRequestConvertible {
    static let baseURLString = "https://***"
    static let APIKey = "***"
    static let APIClientName  = "iPad"


    case UpdatePatient(String, …
Run Code Online (Sandbox Code Playgroud)

authentication nsurlcredential ios swift alamofire

18
推荐指数
5
解决办法
2万
查看次数

为什么EKCalendarChooser的selectedCalendars属性为null?

我有一个EKCalendarChoosere允许我选择日历的.我看到日历和委托方法(EKCalendarChooserDelegate)被调用.但是,当我访问日历选择器的选定日历属性时,它们始终为空.是否需要手动添加它们或选择器处理它?提前致谢

objective-c ios ekeventkit

8
推荐指数
1
解决办法
853
查看次数