Hauptmenü

KIX18: Gültigkeit des Autorisierungs-Tokens der Rest Api

Begonnen von kerstin, 06.04.2023 12:34:32

⏪ vorheriges - nächstes ⏩

kerstin

Moin,

Ich habe eine kurze Frage zur RestApi - wie lange ist ein Token, den man über /auth erhält gültig? Wir haben Skripte, die jede Nacht auf die RestApi zugreifen und sich dafür jedes Mal neu authentifizieren um einen neuen Autorisierungs-Token zu erhalten. Wäre es auch möglich einmalig einen Token zu erzeugen und diesen anstatt des Passworts zu hinterlegen oder müsste man diesen in regelmäßigen Abständen oder z.B. nach updates erneuern?

Danke und Gruß,
Kerstin

Beatrice Müller

Hallo Kerstin,

das Limit der Benutzer-Token ist global in der SysConfig "TokenMaxTime" (Standard: 16h) hinterlegt.

Es gibt zusätzlich aber die Möglichkeit für einzelne User spezielle Token zu generieren.
Dazu kann das Konsole-Skript (Admin -> KIX -> System -> Konsole) Console::Command::Admin::Token::Create verwendet werden.
Usage:
 kix.Console.pl Admin::Token::Create --user ... --user-type ... --valid-until ... [--remote-ip ...] [--allowed-ops ...] [--ignore-max-idle-time ...] [--denied-ops ...] [--description ...]

Options:
 --user ...                     - The user identifier which will used by the token. Agent = UserLogin, Customer = CustomerKey.
 --user-type ...                - The type of the user. Possible values are 'Agent' or 'Customer'
 --valid-until ...              - The token will be valid until the given date+time. Format: YYYY-MM-DD HH24:MI:SS
 [--remote-ip ...]              - The remote IP for which the token should be valid. The value 0.0.0.0 represents all IPs.
 [--allowed-ops ...]            - A comma separated list to allow specific API operation types. RegEx is supported.
 [--ignore-max-idle-time ...]   - Set to 1 to not validate the MaxIdleTime for this token.
 [--denied-ops ...]             - A comma separated list to deny specific API operation types. RegEx is supported.
 [--description ...]            - It's recommended to add a description to identify the token.
 [--help]                       - Display help for this command.
 [--no-ansi]                    - Do not perform ANSI terminal output coloring.
 [--quiet]                      - Suppress informative output, only retain error messages.

Mit den Optionen valid-until und ignore-max-idle-time sollte die Anforderung abgedeckt werden können.

Viele Grüße
Beatrice

kerstin

Hallo Beatrice,

Super. Vielen Dank!

Dann probiere ich das mal damit :-)

Schöne Grüße,
Kerstin

kerstin

Hallo Beatrice,

Eine Frage habe ich noch. Ich habe die Option '--remote-ip ...' so verstanden, dass der entsprechende Token nur von dieser IP aus verwendet werden darf. Allerdings scheint es egal zu sein, welchen Wert ich da eintrage, ich kann den Token scheinbar von beliebigen IPs aus benutzen. Habe ich die Bedeutung falsch verstanden, oder wird der Wert einfach nicht ausgewertet?

Vielen Dank und schöne Grüße,
Kerstin

kerstin

Hallo nochmal :-)

ich habe jetzt den Sysconfigwert "TokenCheckRemoteIP" entdeckt, der auf 0 gesetzt ist. Ich kann ihn aber leider nicht verändern. Hängt das vielleicht mit einer anderen Einstellung zusammen, die ich an andere Stelle gemacht habe, oder ist das so gedacht?

Danke und Gruß,
Kerstin