В сборке 2.6.8 добавлена возможность передачи дополнительных HTTP заголовков при установке Websocket соединения с сервером. Для этого используется функция
FPWCSApi2Session connectWithHeaders:(NSDictionary<NSString *, NSString *> *) headers
Допустим, что на сервере настроено проксирование Websocket трафика с авторизацией при помощи nginx. При этом параметры авторизации должны передаваться в Websocket URL
wss://login:password@test.flashphoner.com/wss
В этом случае, заголовок Authorization для передачи имени и пароля пользователя может быть сформирован из параметров Websocket URL и отправлен при установке соединения следующим образом:
NSURL* nsURL = [NSURL URLWithString:_urlInput.text]; if (nsURL.user && nsURL.password) { NSString* auth = [NSString stringWithFormat:@"%@:%@", nsURL.user, nsURL.password]; NSData *authData = [auth dataUsingEncoding:NSUTF8StringEncoding]; NSString *authBase64 = [NSString stringWithFormat:@"Basic %@", [authData base64EncodedStringWithOptions:kNilOptions]]; NSDictionary *headers = [[NSDictionary alloc] initWithObjectsAndKeys: authBase64, @"Authorization", nil]; [_session connectWithHeaders: headers]; } else { [_session connect]; }