Waitlistin lukeminen on tavallinen skriptattava JSON-kutsu auth-palveluun. Komento toimii ohuena HTTP-asiakkaana ja jättää auth-politiikan palvelun tarkistettavaksi:
$ bus operator --api-url "$BUS_AUTH_API_URL" --token "$ADMIN_JWT" auth waitlist
{"users":[{"email":"user@example.com","status":"waitlisted"}]}
Hyväksyminen kulkee samasta operaattoripinnasta. Vastaus kertoo käyttäjän tilan ja palvelun palauttaman account-tunnisteen:
$ bus operator --api-url "$BUS_AUTH_API_URL" --token "$ADMIN_JWT" auth approve --email user@example.com
{"email":"user@example.com","status":"approved","account_id":"acc"}
Sisäinen token-bootstrap on erillinen, koska se ei ole normaali loppukäyttäjän kirjautuminen. Se vaatii X-Bus-Internal-Key -avaimen joko lipusta, tiedostosta tai operaattorin ympäristöstä:
$ bus operator --api-url "$BUS_AUTH_API_URL" \
--internal-key-file ./local/internal-key \
token issue \
--subject usage-worker \
--audience ai.hg.fi/auth \
--scope "usage:read usage:delete"
{"access_token":"service-token","token_type":"Bearer","expires_in":600}
Rajaus tekee käyttäjän ja operaattorin vastuista selkeämmät. bus auth voi keskittyä salasanattomaan kirjautumiseen ja käyttäjän omiin API-tokeneihin, kun taas bus operator käsittelee admin- ja asennusautomaation tehtävät.
Komennon nykyinen pinta löytyy bus-operator-dokumentaatiosta. Loppukäyttäjän auth-virta on kuvattu erikseen bus-auth-dokumentaatiossa.