Da li je ovo zamena za Keycloak bez izmena?
Ne. Keycloak je opšti identity server sa SAML-om, LDAP federacijom, prilagodljivim stranicama za prijavu i administratorskom konzolom. Nautilus radi uži posao: prijavu i korisničke naloge za klijente SaaS proizvoda, iza HTTP API-ja bez sopstvenih ekrana. Ako vam treba SAML ili jedinstvena prijava za enterprise klijente, zadržite Keycloak. Ako ga koristite za prijavu lozinkom, Google i GitHub, oporavak, dvofaktorsku autentifikaciju i uloge unutar organizacija vaših klijenata, ovo je deo koji možete prestati da hostujete. Organizacijama, ulogama i članovima upravlja se preko API-ja, a kontrolna tabla još nema ekran za članove. Uloge korisnika vraćaju se u potpisanom tokenu, u introspekciji tokena i u proveri sesije.
Da li i dalje moram da pravim ekrane za prijavu?
Da, ekrane. Nautilus vraća svaki korak kao API odgovor, a vaš kod šalje ono što je korisnik uneo, tako da forme izgledaju kao ostatak vašeg proizvoda. Ono što prestajete da pravite je sve iza njih: čuvanje lozinki, e-poruke za oporavak i verifikaciju, sesije, prijave preko provajdera. Ako želite hostovanu stranicu za prijavu koju možete da prilagodite, Keycloak je ima, a ovo ne.
Kako da proverim webhook?
Svaka isporuka nosi zaglavlja svix-id, svix-timestamp i svix-signature: HMAC-SHA256 potpis preko id-a, vremenske oznake i sirovog tela. Proverite ga zvaničnom open-source Svix bibliotekom, koja postoji za Node, Python, Go, Rust, PHP, Java, Ruby, C# i Kotlin, umesto da sami pišete proveru. Neuspešne isporuke se ponavljaju i mogu se ponovo poslati iz kontrolne table.
Koliko košta?
Besplatno do 1.000 aktivnih korisnika mesečno, bez kartice. Aktivan korisnik je osoba koja se prijavi bar jednom u kalendarskom mesecu, bez obzira koliko puta; osobe koje napravite preko API-ja i koje se nikada ne prijave ne računaju se. Pro košta 99 € mesečno za 10.000 aktivnih korisnika, a Advanced 199 € za 50.000. Uloge i organizacije dolaze uz svaki plan, uključujući Free, a dnevnik revizije se čuva 7, 30 ili 90 dana zavisno od plana; ni jedno ni drugo nije dodatak sa sopstvenom cenom. Iznad ograničenja prijava se nikada ne blokira: pišemo vam na 80 % i 100 %, a imate vremena da pređete na viši plan pre nego što se nove registracije odbiju. Trenutni spisak je na stranici sa cenama.
Šta radi ispod?
Ory Kratos, open-source identity server, kao jedan zajednički deployment za sve naloge. Kontrolna tabla, API ključevi, webhookovi, organizacije i uloge, potpisani tokeni i provera koja drži korisnike jednog naloga podalje od korisnika drugog naši su, odozgo. Cena deljenja: korisnička šema je fiksirana na e-poštu, jezik i vaše JSON polje, a konfiguraciju samog Kratosa ne možete menjati. Engine je otvoren: ako vam to postane tesno, isti softver radi na vašim sopstvenim serverima. Sloj koji smo mi izgradili odozgo ne ide sa vama. Ako želite da pređete drugde, zatražite od podrške izvoz svih svojih korisnika sa heševima lozinki, povezanim društvenim nalozima, metapodacima, organizacijama i ulogama: dobijate jedan šifrovani fajl u roku od 7 dana, u formatu koji prihvata naš sopstveni uvoz i koji se mapira na Ory Kratos.
Gde se čuvaju podaci o identitetu?
Identiteti, sesije i vaši prilagođeni metapodaci čuvaju se u bazama podataka na našim sopstvenim serverima u Francuskoj, kod OVHcloud-a. Odlazna e-pošta, poput kodova za prijavu i oporavak, isporučuje se preko Resenda, američkog provajdera, na osnovu standardnih ugovornih klauzula Evropske komisije.
Kako rade uloge i provere dozvola?
Napravite organizaciju, u njoj definišete uloge (uloga je ime i lista dozvola poput invoices:write) i dodate korisnika u organizaciju sa jednom ulogom. Za proveru pozovite authorize sa korisnikom, dozvolom i organizacijom: dobijate dozvoljeno ili ne, sa razlogom i ulogom. Ili pročitajte uloge iz potpisanog tokena i prepustite odluku politici baze podataka. Dozvole se porede tačno, bez džokera. Ulogu koju neko ima ne može se obrisati dok ta osoba nije premeštena. Članstvo može imati rok i pravilo ga uklanja kada istekne. Svaka promena uloge ili članstva nalazi se u dnevniku revizije.
Šta ne radi?
Nema SAML-a ni enterprise jedinstvene prijave, nema hostovane stranice za prijavu, nema gotovih komponenti, nema passkey-eva, SMS kodova ni Sign in with Apple. Nije OAuth ni OpenID provajder za treća lica: potpisani token služi da se proveri, a Nautilus nema endpoint za autorizaciju. E-poruke koje šaljemo za vas stižu sa Verneove adrese i pisane su na jeziku korisnika (šest jezika, prema njegovom locale-u). Zvanični SDK-ovi pokrivaju Node, Python, PHP i Rust.
Kako se poredi sa Auth0, Clerk, Ory Network ili Logto?
Za svakog postoji stranica, sa cenama sa njihovih sopstvenih sajtova i datumom kada smo ih proverili. Ukratko: oni su ispred u gotovim ekranima, enterprise jedinstvenoj prijavi i broju metoda prijave. Mi smo ispred u pravilima koja brišu nekorišćene naloge, u ulogama i organizacijama bez posebne cene i, u poređenju sa Clerkom, u tome gde se podaci nalaze. Pročitajte stranice, pa odlučite. Stranice su na engleskom.