Hoppa till innehållet

Guider

Egen drift

API:t finns i varje NONOX, också det du driftar själv, och det kostar ingenting. Allt i guiderna gäller; byt bara https://nonox.app mot din egen adress.

Adresserna

Adress
API https://<din-server>/api/v1
Godkännande (OAuth) https://<din-server>/anslut
Token https://<din-server>/oauth/token
Metadata https://<din-server>/.well-known/oauth-authorization-server
Den här dokumentationen https://<din-server>/utvecklare

OpenAPI-filen har en server med variabeln host för just det här, så att verktyg som Postman kan peka om alla anrop på en gång. Installationen som visar den här sidan har:

På den här installationenURL
APIhttps://nonox.app/api/v1
Godkännandehttps://nonox.app/anslut
Tokenhttps://nonox.app/oauth/token
Metadatahttps://nonox.app/.well-known/oauth-authorization-server
OpenAPIhttps://nonox.app/utvecklare/openapi.yaml

Nycklar för signering

OAuth-token signeras med en RSA-nyckel. Skapa nycklarna en gång:

Shell
php artisan passport:keys

De hamnar i storage/oauth-private.key och storage/oauth-public.key och ska aldrig in i git. Du kan också ange dem i miljövariablerna PASSPORT_PRIVATE_KEY och PASSPORT_PUBLIC_KEY. Utan nycklar går modulen inte att slå på. Byts nycklarna blir alla utfärdade access tokens ogiltiga; apparna förnyar med sin refresh token och märker inget mer.

Registrera appar

Shell
php artisan connect:app "Exempelappen" https://app.example/callback
php artisan connect:app "Exempelappen mobil" https://app.example/callback --public

Se Autentisering för vad kommandot skriver ut och reglerna för omdirigeringsadresser.

Gränser och livslängder

Alla gränser ställs in i .env. Tabellen visar vad den här installationen använder:

GränsPå den här installationenInställning
Per app eller API-nyckel120 anrop/minutNONOX_CONNECT_RATE_LIMIT_PER_CREDENTIAL
Per företag (alla appar och nycklar tillsammans)600 anrop/minutNONOX_CONNECT_RATE_LIMIT_PER_COMPANY
Per IP-adress, före inloggning600 anrop/minutNONOX_CONNECT_RATE_LIMIT_PER_IP
Tokenadressen per IP-adress30 anrop/minutNONOX_CONNECT_RATE_LIMIT_TOKEN_ENDPOINT
Access tokens giltighet15 minuterNONOX_CONNECT_ACCESS_TOKEN_MINUTES
Refresh tokens giltighet30 dagarNONOX_CONNECT_REFRESH_TOKEN_DAYS
Längsta giltighet för en API-nyckel365 dagarNONOX_CONNECT_MAX_KEY_DAYS
Idempotensnycklar sparas24 timmar –

Access tokens gäller aldrig mer än 15 minuter, hur högt värdet än sätts.

Underhåll

php artisan connect:prune tar bort utgångna idempotensposter, koder och tokens. Den körs varje natt av schemaläggaren, så det enda som krävs är att schemaläggaren är igång (php artisan schedule:run varje minut).

Bakom en proxy

Gränser per IP-adress och IP-listor bygger på besökarens adress. Kör du NONOX bakom en lastbalanserare eller Cloudflare, se till att Laravel litar på proxyn (TrustProxies), annars ser alla anrop ut att komma från samma adress.

Mer