diff --git a/docs/docs/images/quickstart/quickstart-recover-i.png b/docs/docs/images/quickstart/quickstart-recover-i.png index 1ed7adb20633..54b53b973cef 100644 Binary files a/docs/docs/images/quickstart/quickstart-recover-i.png and b/docs/docs/images/quickstart/quickstart-recover-i.png differ diff --git a/docs/docs/images/quickstart/quickstart-recover-ii.png b/docs/docs/images/quickstart/quickstart-recover-ii.png index 6cd68d3c4cb3..f23f01825bac 100644 Binary files a/docs/docs/images/quickstart/quickstart-recover-ii.png and b/docs/docs/images/quickstart/quickstart-recover-ii.png differ diff --git a/docs/docs/images/quickstart/quickstart-recover-iii.png b/docs/docs/images/quickstart/quickstart-recover-iii.png index a61a1e111bf2..63f27203ef7b 100644 Binary files a/docs/docs/images/quickstart/quickstart-recover-iii.png and b/docs/docs/images/quickstart/quickstart-recover-iii.png differ diff --git a/docs/docs/images/quickstart/quickstart-recover-iv.png b/docs/docs/images/quickstart/quickstart-recover-iv.png index b3ff4a5c8f2e..f31e5df65727 100644 Binary files a/docs/docs/images/quickstart/quickstart-recover-iv.png and b/docs/docs/images/quickstart/quickstart-recover-iv.png differ diff --git a/docs/docs/images/quickstart/secureapp-dashboard.png b/docs/docs/images/quickstart/secureapp-dashboard.png index 7d7005589b37..e0201aad930e 100644 Binary files a/docs/docs/images/quickstart/secureapp-dashboard.png and b/docs/docs/images/quickstart/secureapp-dashboard.png differ diff --git a/docs/docs/images/quickstart/secureapp-login-ntrace.png b/docs/docs/images/quickstart/secureapp-login-ntrace.png index 3225adb713a2..2d198643275f 100644 Binary files a/docs/docs/images/quickstart/secureapp-login-ntrace.png and b/docs/docs/images/quickstart/secureapp-login-ntrace.png differ diff --git a/docs/docs/images/quickstart/secureapp-login.png b/docs/docs/images/quickstart/secureapp-login.png index 2b53ab489a22..0a89ed8cc941 100644 Binary files a/docs/docs/images/quickstart/secureapp-login.png and b/docs/docs/images/quickstart/secureapp-login.png differ diff --git a/docs/docs/images/quickstart/secureapp-registration-ntrace.png b/docs/docs/images/quickstart/secureapp-registration-ntrace.png index e0de38397bbd..7aac419ddd9f 100644 Binary files a/docs/docs/images/quickstart/secureapp-registration-ntrace.png and b/docs/docs/images/quickstart/secureapp-registration-ntrace.png differ diff --git a/docs/docs/images/quickstart/secureapp-registration-pwpolicy.png b/docs/docs/images/quickstart/secureapp-registration-pwpolicy.png index c23407de6418..d07b17d33d23 100644 Binary files a/docs/docs/images/quickstart/secureapp-registration-pwpolicy.png and b/docs/docs/images/quickstart/secureapp-registration-pwpolicy.png differ diff --git a/docs/docs/images/quickstart/secureapp-registration.png b/docs/docs/images/quickstart/secureapp-registration.png index 3e79a16101df..f24780b08825 100644 Binary files a/docs/docs/images/quickstart/secureapp-registration.png and b/docs/docs/images/quickstart/secureapp-registration.png differ diff --git a/docs/docs/images/quickstart/secureapp-verified-dashboard.png b/docs/docs/images/quickstart/secureapp-verified-dashboard.png deleted file mode 100644 index d9e1df5daa42..000000000000 Binary files a/docs/docs/images/quickstart/secureapp-verified-dashboard.png and /dev/null differ diff --git a/docs/docs/images/quickstart/ui-unverified-dashboard.png b/docs/docs/images/quickstart/ui-unverified-dashboard.png new file mode 100644 index 000000000000..60eff5c49272 Binary files /dev/null and b/docs/docs/images/quickstart/ui-unverified-dashboard.png differ diff --git a/docs/docs/quickstart.mdx b/docs/docs/quickstart.mdx index 29cdc576e3d4..14c17fbf5272 100644 --- a/docs/docs/quickstart.mdx +++ b/docs/docs/quickstart.mdx @@ -22,6 +22,12 @@ merely a guide to get you set up with some examples. allowfullscreen /> +:::info + +Video based on Ory Kratos 0.5.5 quickstart, so some routes a changed. + +::: + ## Use Case: Application Login and Registration This section gives you some context on what we want to achieve and what tools we @@ -29,10 +35,9 @@ need for that. You will also learn about the network set up we picked for this guide. This quickstart guide operates on the assumption that we are writing a NodeJS -app called **SecureApp**. This app is using nothing fancy - some ExpressJS and a -bit of HTML Templating using Handlebars. We do want to use TypeScript, but only -because it's more readable - not because we're doing anything out of the -ordinary! +app. This app is using nothing fancy - some ExpressJS and a bit of HTML +Templating using Handlebars. We do want to use TypeScript, but only because it's +more readable - not because we're doing anything out of the ordinary! You could pick any technology here, of course. This works with Swift, ReactJS, or Angular (client side) as well as with PHP, Ruby, Python, Java (server side) - @@ -40,8 +45,8 @@ you name it! We picked NodeJS + TypeScript because we believe it is the easiest to understand, and because JavaScript and NodeJS are universally understood and easy to install. -We know that SecureApp will need to have some type of dashboard and that it -needs users. Therefore, we need: +We know our app will need to have some type of dashboard and that it needs +users. Therefore, we need: - Login - Logout @@ -62,7 +67,7 @@ and of course: As you might already know, Ory Kratos is API-only; it does not have a UI or HTML templating engine. We will implement all the user-facing UIs like "dashboard", -"login", and "registration" in our NodeJS SecureApp! +"login", and "registration" in our NodeJS app! To ensure that no one can access the dashboard without prior authentication (login), we can use a small piece of code (here ExpressJS) to do that: @@ -80,9 +85,9 @@ and more so you don't have to. ::: -The SecureApp and Ory Kratos need to share cookies in order for anti-CSRF tokens -and login sessions to work. Because the quickstart runs on different ports on -`127.0.0.1` there is nothing we need to do to get this all working. In +The NodeJS app and Ory Kratos need to share cookies in order for anti-CSRF +tokens and login sessions to work. Because the quickstart runs on different +ports on `127.0.0.1` there is nothing we need to do to get this all working. In environments where you have multiple sub-domains or reverse proxies, the set up will be a bit more sophisticated. You can find more information about the different set up possibilities in the @@ -154,10 +159,9 @@ There are two important factors to get a fully functional system: ::: -You might notice that no database is being used in this example. Ory Kratos -supports SQLite, PostgreSQL, MySQL, and CockroachDB as database backends. For -the quickstart, we're mounting a persistent volume to store the SQLite database -in. +There is no database being used in this example. Ory Kratos supports SQLite, +PostgreSQL, MySQL, and CockroachDB as database backends. For the quickstart, +we're mounting a persistent volume to store the SQLite database in. Future guides will explain how to set up a production system. @@ -169,7 +173,7 @@ This demo makes use of several services: - Public ("Browser") API (port 4433) - Admin API (port 4434) - This is only made public so we can test via the CLI. -2. [SecureApp](http://github.com/ory/kratos-selfservice-ui-node) +2. [NodeJS Selfservice UI](http://github.com/ory/kratos-selfservice-ui-node) - Public (port 4455) - an example application written in NodeJS that implements the login, registration, logout, dashboard, and other UIs. 3. [MailSlurper](https://github.com/mailslurper) @@ -188,7 +192,7 @@ subgraph hn[Host Network] B-->|Can access URLs via 127.0.0.1:4455|OKPHN B-->|Can access URLs via 127.0.0.1:4433|PAPI B-->|Can access UI via 127.0.0.1:4436|SMTPUI - OKPHN([SecureApp exposed at :4455]) + OKPHN([Selfservice UI exposed at :4455]) SMTPUI([MailSlurper UI exposed at :4436]) PAPI([Ory Kratos Public API exposed at :4433]) end @@ -199,7 +203,7 @@ subgraph dn["Internal Docker Network (intranet)"] SA-->|Talks to and validates login sessions using|OK OK-->|Sends mail via|SMTP OK[Ory Kratos] - SA["SecureApp (Ory Kratos SelfService UI Node Example)"] + SA["Selfservice UI (Ory Kratos SelfService UI Node Example)"] SMTP["SMTP Server (MailSlurper)"] end `} @@ -211,10 +215,25 @@ Enough theory, it's time to get this thing going! Let's start by trying to open the dashboard - **go to [127.0.0.1:4455/welcome](http://127.0.0.1:4455/welcome)**. -You should notice that you're ending up at the login endpoint instead of the -dashboard: +You should end up at the dashboard: + +![Dashboard screen of your secured app](images/quickstart/ui-unverified-dashboard.png) -![Login screen of your secured app](images/quickstart/secureapp-login.png) +Under the section `Session Information` you can find the Ory Session details, as +there is no active session this is empty for now. + +:::note + +The rendered login form should be a standard HTML `