Ne, la API devas esti deplojita aparte. Ĝi ne estas inkluzivita en la defaŭlta Militant-instalado.
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
Vidu Instalado por Docker aŭ CasaOS-gvidiloj.
curl -X POST https://via-instanco.com/api/v1/auth.php \
-H "Content-Type: application/json" \
-d '{"username": "uzanto", "password": "pasvorto"}'
30 tagojn. Post eksvalidiĝo, ensalutu denove por ricevi novan.
Jes, ĉiu ensaluto kreas novan ĵetonon. Ĉiuj restas validaj ĝis eksvalidiĝo.
curl -X POST https://via-instanco.com/api/v1/auth.php?action=revoke \
-H "Content-Type: application/json" \
-d '{"token": "via_ĵetono"}'
100-200 petoj hore depende de la finpunkto.
curl -X POST https://via-instanco.com/api/v1/upload.php \
-H "Authorization: Bearer TOKEN" \
-F "media=@foto.jpg" \
-F "type=posts"
Aldonu ?page=2&limit=20 al viaj GET-petoj.
Jes, CORS estas ŝaltita defaŭlte por ĉiuj domajnoj.
Via ĵetono eksvalidiĝis. Ensalutu denove por ricevi novan.
Vi superis la peto-limon. Atendu 1 horon.
Kontrolu la agordon en /api/.env aŭ la MySQL-legitimaĵojn.
Vi uzas la malĝustan HTTP-metodon (GET anstataŭ POST, ktp.)
En la tabelo api_tokens de la Militant-datumbazo.
Jes, en api/config.php: 'token_lifetime' => 2592000 (en sekundoj)
Jes, en api/config.php: 'rate_limit_enabled' => false
Jes: SHA-256 ĵetonoj, rate limiting, datuma validigo, CSRF-protekto.
Jes, forte rekomendite por protekti ĵetonojn dum transsendo.
CREATE USER 'api_user'@'%' IDENTIFIED BY 'password';
GRANT SELECT, INSERT, UPDATE, DELETE ON militant.* TO 'api_user'@'%';
Jes: Python kaj JavaScript SDK-oj estas disponeblaj.
Jes, uzu docker-compose.yml en la dosierujo /api/.
En /api/.env: API_DEBUG=true
docker logs militant-api -f
Ankoraŭ ne, sed estas planite. Nuntempe: simplaj Bearer-ĵetonoj.
Jes, sub AGPL-3.0-permesilo.
Vidu la GitLab-deponejon: https://gitlab.com/militant1/millitant
En GitLab: https://gitlab.com/militant1/millitant/issues