(Nautilus · Prijava i korisnici)

Prijava i korisnici za vaš SaaS Open-source Ory Kratos, koji vodimo za vas. Headless, tako da ekrani ostaju vaši.

Registracija, prijava, oporavak lozinke, verifikacija e-pošte i dvofaktorska autentifikacija, kao API pozivi. Vi crtate ekrane; Nautilus vodi ono što stoji iza njih: sesije, deset provajdera prijave, organizacije sa ulogama, potpisane webhookove, dnevnik revizije i kontrolnu tablu za vaše korisnike. To je Ory Kratos koji biste mogli sami da hostujete, bez Docker podešavanja, baze podataka i nadogradnji.

curl -X PATCH https://api.vernesoft.com/v1/gate/identities/id_12345/metadata \
  -H "Authorization: Bearer vrn_•••" \
  -H "Content-Type: application/json" \
  -d '{"role":"admin","subscription_tier":"pro"}'

(Napraviti ili hostovati)

Pisati sopstvenu prijavu je rizik. Hostovati Keycloak je posao.

E-pošta i lozinka izgledaju kao posao za jedan dan. Zatim stižu oporavak preko e-pošte, verifikacija, drugi faktor, prijava preko Googlea i GitHuba i način da se završi sesija koju ste već izdali. Pisanje svega toga je jedan trošak. Hostovanje opšteg identity servera kao što je Keycloak je drugi: servis, njegova baza, nadogradnje i neko u vašem timu ko ga razume kada se pokvari.

Napraviti ili hostovati sami

  • ✕ Registrovanje OAuth aplikacija kod deset provajdera i mapiranje claimova svakog od njih u jedan korisnički zapis.
  • ✕ Pravljenje tokova za oporavak, verifikaciju i rezervne kodove, pa održavanje da budu ispravni.
  • ✕ Preslikavanje korisnika između identity servera i vaše baze i jurenje razlika.
  • ✕ Proveravanje baze pri svakom zahtevu da biste saznali da li je sesija opozvana.
  • ✕ Dodavanje organizacija i uloga: tabele, tok pozivnica i provera dozvola kopirana u svaki servis.
  • ✕ Skripta za čišćenje naloga koje niko više ne otvara i upozoravajući e-mail koji mora da ode pre nego što se pokrene.
  • ✕ Ili ga hostovati: Keycloak ili Ory Kratos znači servis, bazu, nadogradnje i, uz Kratos, administratorski ekran koji još morate da napišete.

Sa Nautilusom

  • ✓ Deset provajdera prijave, koji se uključuju ili isključuju iz kontrolne table ili preko API-ja.
  • ✓ Tokovi za oporavak, verifikaciju i podešavanja kao API pozivi.
  • ✓ JSON polje na svakom korisniku za vaše podatke, koje se menja jednim PATCH-om.
  • ✓ Potpisani webhookovi za registracije, prijave i promene naloga, sa ponovnim pokušajima i evidencijom isporuka.
  • ✓ Open-source Ory Kratos, koji vodimo za vas, sa kontrolnom tablom i API ključevima od prvog dana.
  • ✓ Organizacije sa ulogama; uloge korisnika putuju u potpisanom tokenu koji proveravate offline, ili ih tražite jednim pozivom.
  • ✓ Pravila koja brišu nepotvrđene i nekorišćene naloge nakon upozoravajućeg e-maila.

(Ključne funkcionalnosti)

Sve što stoji iza ekrana za prijavu

(01)

Automatsko brisanje neaktivnih naloga

Četiri pravila po projektu, svako isključeno dok ga ne uključite. Nepotvrđeni nalozi brišu se nakon roka koji odredite. Uz Pro i Advanced isto važi za naloge koji se nisu prijavili 1 do 120 meseci, a dobijate i podsetnik za potvrdu i rokove za uloge. Svako brisanje sledi nakon upozoravajućeg e-maila i nikad ne dolazi pre datuma u njemu. Pregled pokazuje koliko bi osoba pravilo danas zahvatilo. Ljudi koji se prijavljuju samo preko Telegrama nemaju e-mail adresu, pa se ne diraju osim ako ne odredite drugačije.

(02)

Organizacije, uloge i provere dozvola

Grupišite korisnike u organizacije, definišite imenovane uloge sa dozvolama u svakoj i dajte korisniku drugačiju ulogu u svakoj organizaciji kojoj pripada. Nautilus čuva podatke i jednim pozivom odgovara na jedno pitanje: sme li ovaj korisnik ovo da radi ovde? Ništa ne sprovodi; to radi vaš kod. Upravljate preko API-ja, a kontrolna tabla još nema ekran za članove. Uključeno u svaki plan.

(03)

Potpisani tokeni sa ulogama unutra

Zatražite potpisani oblik sesije i dobićete token koji važi 15 minuta i koji svako može da proveri offline pomoću javnih ključeva vašeg tenanta. Navodi organizacije korisnika, svaku sa imenom uloge i njenim dozvolama, pa politika baze podataka ili API gateway može da odluči bez poziva Nautilusa. Ne može se opozvati: uloga koju uklonite može da živi u već izdatom tokenu do isteka, a za sve što mora biti tačno authorize i introspekcija čitaju uživo. Token sadrži prvih 10 organizacija i označava kada je lista skraćena.

(04)

Dnevnik revizije koji čitate preko API-ja

Ko je napravio ili opozvao ključ, promenio podešavanje, dodelio ili oduzeo ulogu, i koji se od vaših korisnika prijavio ili promenio lozinku, sa adresom i user agentom. Nijedan unos se ne može izmeniti niti obrisati pre vremena. Radnja i njen unos uspevaju ili propadaju zajedno; prijave se upisuju trenutak kasnije, kada ih servis za identitet prijavi. Čuva se 7 dana na Free, 30 na Pro, 90 na Advanced; rok možete skratiti, ali ne i produžiti. Neuspele prijave i prijave preko Telegrama se ne beleže.

(05)

Prijava preko Googlea, GitHuba i još osam

GitHub, Google, GitLab, Microsoft, Discord, Facebook, LinkedIn, Slack, Twitch i Spotify. Uključite svakog po nalogu; Nautilus drži OAuth aplikacije, tako da kod provajdera ne registrujete ništa. Claimovi stižu mapirani u jedan oblik korisnika.

(06)

Dvofaktorska autentifikacija i kodovi bez lozinke

Kodovi iz aplikacije za autentifikaciju sa rezervnim kodovima, uključeni po nalogu. Kada ih zahtevate, gateway odbija sesiju koja je preskočila drugi korak. Ili izbacite lozinku: jednokratni kod preko e-pošte, važi 15 minuta.

(07)

Sesije koje možete videti i završiti

Izlistajte aktivne sesije korisnika sa IP adresom i user agentom svakog uređaja, kada ih je Kratos mogao da otkrije. Završite jednu sesiju, ili sve sesije jednog identiteta, jednim pozivom.

(08)

JSON polje na svakom korisniku

Držite na korisniku naziv plana, firmu ili oznaku uvođenja. PATCH spaja ono što pošaljete i ostavlja ostalo netaknuto. Korisnik to može da pročita, pa nema tajni, a Nautilus ne sprovodi ono što tamo stavite.

(09)

Potpisani webhookovi, sa ponovnim pokušajima

Registracije, prijave, promene lozinke, verifikacija e-pošte, deaktivacija i brisanje stižu na vaš endpoint, potpisani Svix šemom. Neuspešne isporuke dobijaju do osam pokušaja u oko 28 sati, a svaki pokušaj se beleži i može se ponovo poslati iz kontrolne table.

(10)

Tokovi za oporavak i verifikaciju

Oporavak lozinke, verifikacija e-pošte i promene podešavanja rade kao kratki API tokovi: pokrenete jedan, pošaljete kod ili novu vrednost. Vi prikazujete formu; Nautilus šalje e-poštu i proverava odgovor.

The admin UI for Ory Kratos

(Jedan proizvod)

Prijava je jedan deo jednog naloga

Webhookovi, cron poslovi i prijava preko Telegrama stoje iza istog naloga i iste kontrolne table. U praksi to znači da događaji prijave stižu na vaš server istom potpisanom isporukom kao bilo koji drugi webhook, a svaki API ključ nosi samo scope-ove koje označite, pa ključ koji drži vaš servis za prijavu ne može da zakazuje poslove niti da šalje webhookove.

Vaša aplikacija pokreće registracijuNautilus kreira korisnikaPotpisani webhook na vaš server

(Iskustvo programera)

Jedan HTTP poziv, pet načina da se napiše

Kartice prikazuju isti zahtev u curl-u i u SDK-ovima za Node, Python, PHP i Rust. Tenant dolazi iz API ključa, pa nikada ne prosleđujete id naloga.

curl -X PATCH https://api.vernesoft.com/v1/gate/identities/id_12345 \
  -H "Authorization: Bearer $VERNE_GATE_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    { "op": "replace", "path": "/traits/locale", "value": "fr" }
  ]'

(Poređenje)

Birate između provajdera?

Četiri stranice stavljaju Nautilus pored Auth0, Clerk, Ory Network i Logto: ko bi trebalo da izabere njih, ko nas, njihove cene sa datumom kada smo ih proverili i gde su njihovi podaci. Stranice su na engleskom.

(FAQ)

Često postavljana pitanja

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.

(Počnite danas)

Zadržite svoje ekrane za prijavu. Server iza njih prepustite nama.

Registracija, prijava, oporavak i dvofaktorska provera za vaše klijente, iz jednog HTTP API-ja. Napravite nalog i prvih 1.000 aktivnih korisnika svakog meseca je besplatno.

Šta ostaje vaše

Autentifikacija je mesto gde zavisnost obično počinje, jer onaj ko poseduje korisnički zapis na kraju oblikuje model podataka oko njega. Nautilus to ne traži. Ko može da se prijavi živi ovde; zapisi vaših klijenata, porudžbine i sve ostalo ostaju u Postgresu, MySQL-u ili Mongu koji već vodite. Nema naše šeme kojoj bi se vaše tabele morale prilagoditi.

Ispod je Ory Kratos, open source i neizmenjen. Mi vodimo server i nadogradnje, i taj deployment namerno držimo dosadnim, ali engine je takav da biste ga mogli voditi i sami. Engine imenujemo umesto da ga krijemo. 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.

Radi na našim sopstvenim serverima u Francuskoj, što je prvo pitanje koje postavljaju mnogi evropski kupci. Besplatan plan pokriva 1.000 aktivnih korisnika mesečno, bez naplate po zahtevu, pa je jedno popodne dovoljno da saznate da li ovo odgovara steku koji već imate.