Militant

Oftaj Demandoj

Oftaj Demandoj

Instalado

Ĉu la API jam estas instalita?

Ne, la API devas esti deplojita aparte. Ĝi ne estas inkluzivita en la defaŭlta Militant-instalado.

Ĉu mi devas agordi ion?

Jes, kreu dosieron /api/.env kun la legitimaĵoj de via Militant-instanco:

API_DB_HOST=via-militant-db
API_DB_NAME=militant
API_DB_USER=militant
API_DB_PASS=via_pasvorto

Kiel mi instalas la API-on?

Vidu Instalado por Docker aŭ CasaOS-gvidiloj.

Aŭtentikigo

Kiel mi ricevas ĵetonon?

curl -X POST https://via-instanco.com/api/v1/auth.php \
  -H "Content-Type: application/json" \
  -d '{"username": "uzanto", "password": "pasvorto"}'

Kiom longe daŭras ĵetono?

30 tagojn. Post eksvalidiĝo, ensalutu denove por ricevi novan.

Ĉu mi povas havi plurajn ĵetonojn?

Jes, ĉiu ensaluto kreas novan ĵetonon. Ĉiuj restas validaj ĝis eksvalidiĝo.

Kiel mi nuligas ĵetonon?

curl -X POST https://via-instanco.com/api/v1/auth.php?action=revoke \
  -H "Content-Type: application/json" \
  -d '{"token": "via_ĵetono"}'

Uzado

Kio estas la peto-limo?

100-200 petoj hore depende de la finpunkto.

Kiel mi alŝutas bildon?

curl -X POST https://via-instanco.com/api/v1/upload.php \
  -H "Authorization: Bearer TOKEN" \
  -F "media=@foto.jpg" \
  -F "type=posts"

Kiel mi paĝumas rezultojn?

Aldonu ?page=2&limit=20 al viaj GET-petoj.

Ĉu la API subtenas CORS-on?

Jes, CORS estas ŝaltita defaŭlte por ĉiuj domajnoj.

Eraroj

"Invalid or expired token"

Via ĵetono eksvalidiĝis. Ensalutu denove por ricevi novan.

"Rate limit exceeded"

Vi superis la peto-limon. Atendu 1 horon.

"Database connection failed"

Kontrolu la agordon en /api/.env aŭ la MySQL-legitimaĵojn.

"Method not allowed"

Vi uzas la malĝustan HTTP-metodon (GET anstataŭ POST, ktp.)

Agordado

Kie estas konservitaj la ĵetonoj?

En la tabelo api_tokens de la Militant-datumbazo.

Ĉu mi povas ŝanĝi la daŭron de ĵetonoj?

Jes, en api/config.php: 'token_lifetime' => 2592000 (en sekundoj)

Ĉu mi povas malŝalti rate limiting-on?

Jes, en api/config.php: 'rate_limit_enabled' => false

Sekureco

Ĉu la API estas sekura?

Jes: SHA-256 ĵetonoj, rate limiting, datuma validigo, CSRF-protekto.

Ĉu mi devas uzi HTTPS-on?

Jes, forte rekomendite por protekti ĵetonojn dum transsendo.

Kiel mi kreas dedikitan API-uzanton?

CREATE USER 'api_user'@'%' IDENTIFIED BY 'password';
GRANT SELECT, INSERT, UPDATE, DELETE ON militant.* TO 'api_user'@'%';

Disvolviĝo

Ĉu estas disponeblaj SDK-oj?

Jes: Python kaj JavaScript SDK-oj estas disponeblaj.

Ĉu mi povas testi la API-on loke?

Jes, uzu docker-compose.yml en la dosierujo /api/.

Kiel mi ŝaltas sencimigan reĝimon?

En /api/.env: API_DEBUG=true

Kie mi povas vidi protokolojn?

docker logs militant-api -f

Aliaj

Ĉu la API estas kongrua kun OAuth2?

Ankoraŭ ne, sed estas planite. Nuntempe: simplaj Bearer-ĵetonoj.

Ĉu mi povas uzi la API-on komerce?

Jes, sub AGPL-3.0-permesilo.

Kiel mi kontribuas?

Vidu la GitLab-deponejon: https://gitlab.com/militant1/millitant

Kie mi raportas cimon?

En GitLab: https://gitlab.com/militant1/millitant/issues


Retour au Wiki