Uusi kirjautumispolku alkaa tavallisista Bus-komennoista:
$ bus auth --api-url http://127.0.0.1:8080 register --email user@example.com
$ bus auth --api-url http://127.0.0.1:8080 login --email user@example.com
$ bus auth --api-url http://127.0.0.1:8080 verify \
--email user@example.com \
--otp 123456 \
--token-file ~/.config/bus/auth/token
Vahvistuksen jälkeen tilan voi tarkistaa samalla token-tiedostolla:
$ bus auth --api-url http://127.0.0.1:8080 \
--token-file ~/.config/bus/auth/token \
status
{
"email": "user@example.com",
"status": "waitlisted",
"email_verified": true
}
Hyväksytty käyttäjä pyytää AI Platform -tokenin erillisellä komennolla. Auth-palvelun token ei vielä anna mallikäyttöä; se todistaa käyttäjän auth-palvelulle. AI Platform -tokenissa yleisö ja scope vaihtuvat palvelukäyttöön, esimerkiksi aud=ai.hg.fi/api ja scope=llm:proxy.
$ bus auth --api-url http://127.0.0.1:8080 \
--token-file ~/.config/bus/auth/token \
token
{
"access_token": "...",
"token_type": "Bearer",
"account_id": "..."
}
Paikallinen kehityspolku on nyt sama kuin julkaistun palvelun perusmalli: compose käynnistää PostgreSQL:n pysyvälle tilalle, MailHogin OTP-viesteille ja bus api serve -prosessin, jossa auth-provider on kiinnitetty Bus API:n moduulipolkuun. Tämä tekee rekisteröinnistä, OTP:n lukemisesta, hyväksynnästä ja AI Platform -tokenin pyytämisestä yhden toistettavan virran.
Kun auth-provider ajetaan Bus API:n sisäisenä moduulina, OTP-reitit toimivat myös moduuliprefixin alta. Uudempi bus-api-mounttaus palvelee saman providerin lisäksi siistejä public-reittejä, kun palvelin käynnistetään asetuksilla --provider auth --enable-module auth:
POST /api/v1/auth/register
POST /api/v1/auth/otp/request
POST /api/v1/auth/otp/verify
GET /api/v1/auth/status
POST /api/v1/auth/token
GET /api/internal/auth/check
Näin tuotantopolku ei riipu geneerisestä /modules/auth/-osoitteesta, vaikka moduulipolku säilyy edelleen yhteensopivuuden ja sisäisen mount-mallin vuoksi. Jos vaadittu deployment-secret puuttuu, sama reitti palauttaa vakaan JSON-koodin auth_provider_unavailable sen sijaan, että virhe näkyisi epämääräisenä palvelukatkona.
Kehitysympäristössä OTP-koodin voi myös ohjata konsoliin asettamalla BUS_AUTH_OTP_SENDER=console. Silloin palvelu kirjoittaa BUS_AUTH_OTP-alkuisen rivin, jossa näkyvät kanava, vastaanottaja, koodi ja vanhenemisaika. Tuotantokäytössä OTP kuuluu sähköpostiin tai muuhun erilliseen senderiin, ei palvelulokiin.
Komennon käyttäjäpuoli on kuvattu bus-auth-dokumentaatiossa. Palvelun asetukset, PostgreSQL-tuki, MailHog-esimerkki ja providerin HTTP-pinnat löytyvät bus-api-provider-authin dokumentaatiosta.