Autentizace kontaktu

Ekonomický systém FlexiBee umožňuje použít kontakty uložené v databázi k autentizaci.

Pomocí API je nejdříve nutné kontaktu nastavit jméno a heslo. Existují dva způsoby:

  • Heslo je možné zaslat ve formě plain-text:

    POST /c/firma/kontakty/1.xml
    
    <kontakt>
    <username>jan</username>
    <password hash="" salt="">heslo</password>
    </kontakt>
    

    Heslo, zaslané jako plain-text, je ve FlexiBee uložené v bezpečné formě pomocí hash funkce.

  • Heslo je možné zaslat ve formě výsledku volání hash funkce. V tomto případě jsou povinné parametry salt a typ hash funkce:

    POST /c/firma/kontakty/1.xml
    
    <kontakt>
    <username>jan</username>
    <password hash="sha256" salt="abcd">ed9bddc9f20f1aa3587979c9536c625d485</password>
    </kontakt>
    

    Hodnota elementu <password> je zde výsledek hash funkce aplikované na řetězec vzniklý spojením hesla a hodnoty salt. Původní heslo v tomto případě není nutné zasílat.

    Podporované typy hash funckí:

    • sha1
    • sha256
    • sha512
    • pbkdf2
    • md5

Poté je možné pomocí API autentizovat kontakt voláním:

POST /c/firma/kontakty/1/authenticate

Accept: application/xml
Content-Type: application/x-www-form-urlencoded 

username=jan&password=heslo

Autentizace funguje také na obecné URL kontaktů:

POST /c/firma/kontakt/authenticate

Accept: application/xml
Content-Type: application/x-www-form-urlencoded 

username=jan&password=heslo

Výsledkem je vždy odpověď s HTTP status kódem 200, výsledek je uvedený v těle odpovědi:

  • Úspěšná autentizace:

    <?xml version="1.0" ?>
    
    <winstrom version="1.0">
      <success>true</success>
      <message></message>
    </winstrom>
    
  • Neúspěšná autentizace:

    <winstrom version="1.0">
    <success>false</success>
    <message>Bylo zadáno chybné uživatelské jméno či heslo.</message>
    </winstrom>