Autentizace (KS webAPI): Porovnání verzí

Z Prirucky
(Založena nová stránka: Pro ověření uživatele se používá ''UserName'' autentizace, kdy se předává jméno a heslo uživatele při volání metody webové služby v části ''ClientCredent…)
 
Řádek 3: Řádek 3:


== Příklad ==
== Příklad ==
'''SOAP'''
<pre>
<pre>
<security>
<security>
   <message clientCredentialType="UserName" />
   <message clientCredentialType="UserName" />
</security>
</security>
</pre>
'''REST'''
<ol>
    <li>
        <b>Zabezpečení protokolu</b>
        <p>Všechny dotazy na API musí být zasílány prostřednictvím zabezpečeného protokolu HTTPS.</p>
    </li>
    <li>
        <b>Přístupová oprávnění</b>
        <p>Uživatel musí mít povolení k užívání API, které mu uděluje administrátor. K tomu je nezbytné mít vygenerováno jméno a heslo k API.</p>
    </li>
    <li>
        <b>Autentizace</b>
        <p>Pro autentizaci je třeba odeslat na adresu <i>.../KSAsServer/WebService/WebAPI/rest/users/authenticate</i> JSON body s údaji <i>"Username"</i> a <i>"Password"</i>. Pokud jsou tyto údaje správné, obdržíte <strong>token</strong>, který je nutný pro používání API po určitou dobu. Token i jeho platnost jsou vráceny v těle odpovědi.</p>
    </li>
    <li>
        <b>Použití tokenu</b>
        <p>Při každém volání API ,mimo autentizaci, je třeba zaslat platný token jedním ze dvou způsobů:</p>
     
        <ul class="ulAktualizace">
            <li>
                V HEADER
                <p>
                    Plain:  <pre>Authorization -  eyJ0eXAwibmFtZSI6InBhdmVIuMDGtBE1GxcdkwUuTTLDL4&</pre>
                    Bearer: <pre>Authorization -  Bearer eyJ0eXAwibmFtZSI6InBhdmVIuMDGtBE1GxcdkwUuTTLDL4&</pre>
                </p>
            </li>
          <li>
              V URI<br />
                  <pre>GET /KSAsServer/WebService/WebAPI/rest/KmenoveUdaje/Jmeno/Karel?<strong>token=eyJ0eXAwibmFtZSI6InBhdmVIuMDGtBE1GxcdkwUuTTLDL4&</strong></pre>
          </li>
        </ul>
        <p>Způsob HEADER je preferován před URI.</p>
    </li>
</ol><br />
Požadavek:
<pre>
POST /KSAsServer/WebService/WebAPI/rest/user/authenticate
body:
{
    "Username": "jmeno",
    "Password": "heslo"
}
</pre>
Odpověď:
<pre>
{
    "ErrorCode": 0,
    "ErrorMessage": null,
    "ErrorText": null,
    "IsError": false,
    "Message": "Created",
    "ResponseDatetime": "/Date(1720705997339+0200)/",
    "StatusCode": 201,
    "Token": "jkdsjflsdfjsdfklsjdflskdfjs.6tQew",
    "ValidTo": "/Date(1720715997000+0200)/"
}
</pre>
</pre>


== Odkazy ==
== Odkazy ==
* [[Klient (KS webAPI)]]
* [[Klient (KS webAPI)]]

Verze z 10. 3. 2025, 11:31

Pro ověření uživatele se používá UserName autentizace, kdy se předává jméno a heslo uživatele při volání metody webové služby v části ClientCredentials. Tato metoda musí být nastavena v konfiguračním souboru klienta.

Příklad

SOAP

<security>
  <message clientCredentialType="UserName" />
</security>

REST

  1. Zabezpečení protokolu

    Všechny dotazy na API musí být zasílány prostřednictvím zabezpečeného protokolu HTTPS.

  2. Přístupová oprávnění

    Uživatel musí mít povolení k užívání API, které mu uděluje administrátor. K tomu je nezbytné mít vygenerováno jméno a heslo k API.

  3. Autentizace

    Pro autentizaci je třeba odeslat na adresu .../KSAsServer/WebService/WebAPI/rest/users/authenticate JSON body s údaji "Username" a "Password". Pokud jsou tyto údaje správné, obdržíte token, který je nutný pro používání API po určitou dobu. Token i jeho platnost jsou vráceny v těle odpovědi.

  4. Použití tokenu

    Při každém volání API ,mimo autentizaci, je třeba zaslat platný token jedním ze dvou způsobů:

    • V HEADER

      Plain:

      Authorization -   eyJ0eXAwibmFtZSI6InBhdmVIuMDGtBE1GxcdkwUuTTLDL4&
      Bearer:
      Authorization -   Bearer eyJ0eXAwibmFtZSI6InBhdmVIuMDGtBE1GxcdkwUuTTLDL4&

    • V URI
      GET /KSAsServer/WebService/WebAPI/rest/KmenoveUdaje/Jmeno/Karel?<strong>token=eyJ0eXAwibmFtZSI6InBhdmVIuMDGtBE1GxcdkwUuTTLDL4&</strong>

    Způsob HEADER je preferován před URI.


Požadavek:

POST /KSAsServer/WebService/WebAPI/rest/user/authenticate

body:
{
    "Username": "jmeno",
    "Password": "heslo"
}

Odpověď:

{
    "ErrorCode": 0,
    "ErrorMessage": null,
    "ErrorText": null,
    "IsError": false,
    "Message": "Created",
    "ResponseDatetime": "/Date(1720705997339+0200)/",
    "StatusCode": 201,
    "Token": "jkdsjflsdfjsdfklsjdflskdfjs.6tQew",
    "ValidTo": "/Date(1720715997000+0200)/"
}

Odkazy