sabredav carddav не работает на ios, плохо работает на android

Я интегрирую sabredav в свое веб-приложение, связь между моим приложением -> sabredab, кажется, в порядке. С помощью браузера я могу получить доступ ко всем необходимым vcards.

На Android, когда я использую URL

example.org/sabredavcontroller/index/addressbooks/principalID/addressbookID

он отлично синхронизируется

Однако на ios (6) он находится по адресу example.org/.well-known/carddav.

Который я перенаправил на example.org/sabredavcontroller/index/, но тогда он ничего с ним не делает и пробует другие URL-адреса, которые тоже не работают, и выдает ошибки.

Это журнал доступа, когда ios пытается настроить учетную запись на carddav:

projectnexys.com:80 192.168.125.24 - - [22/Mar/2013:10:41:58 +0100] "PROPFIND /.well-known/carddav HTTP/1.1" 302 574 "-" "iOS/6.1.2 (10B146) Preferences/1.0"
projectnexys.com:80 192.168.125.24 - - [22/Mar/2013:10:41:59 +0100] "PROPFIND /sabredavcontroller/index/ HTTP/1.1" 401 985 "-" "iOS/6.1.2  (10B146) Preferences/1.0"
projectnexys.com:80 192.168.125.24 - [email protected] [22/Mar/2013:10:41:59 +0100] "PROPFIND /sabredavcontroller/index/ HTTP/1.1" 207 1423 "-" "iOS/6.1.2 (10B146) Preferences/1.0"
projectnexys.com:80 192.168.125.24 - - [22/Mar/2013:10:42:00 +0100] "PROPFIND / HTTP/1.1" 302 818 "-" "iOS/6.1.2 (10B146) Preferences/1.0"
projectnexys.com:80 192.168.125.24 - - [22/Mar/2013:10:42:01 +0100] "PROPFIND /account HTTP/1.1" 200 2107 "-" "iOS/6.1.2 (10B146) Preferences/1.0"
projectnexys.com:80 192.168.125.24 - - [22/Mar/2013:10:42:01 +0100] "PROPFIND /principals/ HTTP/1.1" 404 890 "-" "iOS/6.1.2 (10B146) Preferences/1.0"

(Для уточнения: первая строка узнать рут sabredav через редирект: 301 вторая строка запрос к руту но для этого нужен логин/пароль третья такая же как вторая но с аутентификацией а потом сдается на этот URL и пробует другие варианты)

Результат третьей строки, используя curl с этой командой:

curl --header "Content-Type: text/xml" -u "[email protected]:bla" --request PROPFIND  projectnexys.com/sabredavcontroller/index/ | xmllint --format -

-

<?xml version="1.0" encoding="utf-8"?>
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:card="urn:ietf:params:xml:ns:carddav">
  <d:response>
    <d:href>/sabredavcontroller/index/</d:href>
    <d:propstat>
      <d:prop>
        <d:getlastmodified>Fri, 22 Mar 2013 09:36:52 GMT</d:getlastmodified>
        <d:resourcetype>
          <d:collection/>
        </d:resourcetype>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
  </d:response>
  <d:response>
    <d:href>/sabredavcontroller/index/principals/</d:href>
    <d:propstat>
      <d:prop>
        <d:getlastmodified>Fri, 22 Mar 2013 09:36:52 GMT</d:getlastmodified>
        <d:resourcetype>
          <d:collection/>
        </d:resourcetype>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
  </d:response>
  <d:response>
    <d:href>/sabredavcontroller/index/addressbooks/</d:href>
    <d:propstat>
      <d:prop>
        <d:getlastmodified>Fri, 22 Mar 2013 09:36:52 GMT</d:getlastmodified>
        <d:resourcetype>
          <d:collection/>
        </d:resourcetype>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
  </d:response>
</d:multistatus>

Может ли кто-нибудь дать мне советы о том, что может быть не так?

Пс. Я использую SabreDAV http://sabre.io/. Я пока не могу создать новый тег из-за репутации.


person Richard Deurwaarder    schedule 22.03.2013    source источник
comment
Распространенной ошибкой является не загрузка необходимого плагина ACL. Кроме того, что у вас есть для базового URL?   -  person Evert    schedule 23.03.2013
comment
Вы были совершенно правы, потребовалось немного возни, чтобы правильно настроить группы, но это не работает как шарм, если бы вы добавили это как ответ, я бы принял это;)   -  person Richard Deurwaarder    schedule 27.03.2013


Ответы (1)


Вам не хватает плагина ACL. CardDAV требует этого!

person Evert    schedule 27.03.2013