Przejdź do głównej zawartości

Uwierzytelnianie

GET /api/authorization/get/

Pola odpowiedzi:

PoleTypOpis
isWireguardAdminAccessbooleanDostęp administratora jest przyznawany automatycznie dla serwera VPN (zgodnie z ustawieniami).
isWireguardPowerUserAccessbooleanDostęp autoryzowanego użytkownika jest przyznawany automatycznie dla serwera VPN (zgodnie z ustawieniami).
leftButtonAuthorizedSessionMsinteger / nullPo naciśnięciu przycisku urządzenia: czas w milisekundach do wygaśnięcia tymczasowego dostępu autoryzowanego użytkownika albo null, jeśli dostęp ma inny typ.
leftLoggedInSessionMsinteger / nullPo zalogowaniu hasłem: czas w milisekundach do wygaśnięcia dostępu autoryzowanego użytkownika albo null, jeśli dostęp ma inny typ.
sinceAuthorizationCodeSetMsinteger / nullCzas w milisekundach od momentu ustawienia zdalnego kodu autoryzacji albo null, jeśli minęły więcej niż 2 minuty.
sinceButtonPressedMsinteger / nullCzas w milisekundach od momentu naciśnięcia przycisku urządzenia albo null, jeśli minęła więcej niż 1 godzina.

Przykładowa odpowiedź:

{
"isWireguardAdminAccess": true,
"isWireguardPowerUserAccess": false,
"leftButtonAuthorizedSessionMs": null,
"leftLoggedInSessionMs": null,
"sinceAuthorizationCodeSetMs": 109700,
"sinceButtonPressedMs": 5100
}

Pozwala serwerowi VPN wyświetlić tymczasowy 8-cyfrowy kod na wyświetlaczu urządzenia.

Kod pozostaje wyświetlany przez 2 minuty.

POST /api/authorization/code/set/

Parametry żądania:

PoleTypOpis
authorizationCodeinteger / nullKod potwierdzający dla serwera fizyczny dostęp użytkownika do urządzenia lub null, aby usunąć kod.

Przykładowe żądanie:

{
"authorizationCode": 12345678
}

Odpowiedź:

Pusty JSON po pomyślnym wykonaniu polecenia.

{}

Zapewnia unikalny ciąg znaków salt używany przez klienta do hashowania hasła przed uwierzytelnieniem.

GET /api/login/salt/

Odpowiedź:

PoleTypOpis
saltstringUnikalny ciąg znaków salt do hashowania hasła.

Przykładowa odpowiedź:

{
"salt": "sFtqKto6hnaURPGQLJOCT1QMx7myDEGLBsCz3a2L"
}

Umożliwia użytkownikowi uwierzytelnienie i otrzymanie tokenu dostępu.

POST /api/login/

Parametry żądania:

PoleTypOpis
usernamestringNazwa użytkownika. Użyj admin.
passwordstringHash SHA1 hasła w formacie szesnastkowym.

Uwaga: Hash hasła SHA1 jest obliczany jako SHA1(username + password + salt).

Przykładowe żądanie:

{
"username": "admin",
"password": "90d54ed4126a0924528810aa5673a6d616d5f274"
}

Odpowiedź:

Po pomyślnym uwierzytelnieniu zwracany jest token i jego czas wygaśnięcia.

PoleTypOpis
authTypestringTyp uwierzytelniania (Bearer).
tokenstringToken dostępu.
ttlSecintegerCzas życia tokenu w sekundach.
{
"authType": "Bearer",
"token": "ej5k2pVg4Pd8yBdUqFPq8bdaStpeAZhyelpmkhtOivdK8r7E",
"ttlSec": 60
}

Kończy bieżącą sesję użytkownika i unieważnia token.

POST /api/cmd/logout/

Przykładowe żądanie:

{}

Odpowiedź:

Pusty JSON po pomyślnym wykonaniu polecenia.

{}