diff --git a/astro/public/img/docs/get-started/start-here/edit-application.png b/astro/public/img/docs/get-started/start-here/edit-application.png new file mode 100644 index 0000000000..fe377cec1a Binary files /dev/null and b/astro/public/img/docs/get-started/start-here/edit-application.png differ diff --git a/astro/public/img/docs/get-started/start-here/email-inbox-magic-link-message.png b/astro/public/img/docs/get-started/start-here/email-inbox-magic-link-message.png new file mode 100644 index 0000000000..5badc68da2 Binary files /dev/null and b/astro/public/img/docs/get-started/start-here/email-inbox-magic-link-message.png differ diff --git a/astro/public/img/docs/get-started/start-here/enable-magic-link-login.png b/astro/public/img/docs/get-started/start-here/enable-magic-link-login.png new file mode 100644 index 0000000000..c6739d922a Binary files /dev/null and b/astro/public/img/docs/get-started/start-here/enable-magic-link-login.png differ diff --git a/astro/public/img/docs/get-started/start-here/login-screen-magic-link-enabled.png b/astro/public/img/docs/get-started/start-here/login-screen-magic-link-enabled.png new file mode 100644 index 0000000000..8dfc8c4152 Binary files /dev/null and b/astro/public/img/docs/get-started/start-here/login-screen-magic-link-enabled.png differ diff --git a/astro/public/img/docs/get-started/start-here/login-screen-magic-link-enter-email.png b/astro/public/img/docs/get-started/start-here/login-screen-magic-link-enter-email.png new file mode 100644 index 0000000000..96ec782451 Binary files /dev/null and b/astro/public/img/docs/get-started/start-here/login-screen-magic-link-enter-email.png differ diff --git a/astro/public/img/docs/get-started/start-here/save-application.png b/astro/public/img/docs/get-started/start-here/save-application.png new file mode 100644 index 0000000000..6d751fcd3d Binary files /dev/null and b/astro/public/img/docs/get-started/start-here/save-application.png differ diff --git a/astro/src/components/get-started/DockerInstallAndStart.astro b/astro/src/components/get-started/DockerInstallAndStart.astro new file mode 100644 index 0000000000..c920c10b49 --- /dev/null +++ b/astro/src/components/get-started/DockerInstallAndStart.astro @@ -0,0 +1,78 @@ + +--- +import DockerSpinupAccordion from 'src/components/get-started/DockerSpinupAccordion.astro'; +import Code from 'astro/components/Code.astro'; +import Aside from 'src/components/Aside.astro'; +import { RemoteValue } from '@fusionauth/astro-components'; + +export interface Props { + /** + * Full URI to extract values from kickstart.json + * e.g. https://raw.githubusercontent.com/FusionAuth/fusionauth-quickstart-ruby-on-rails-web/main/kickstart/kickstart.json + */ + kickstartUri: string; + + /** + * Flag that indicates the codeRoot + */ + codeRoot?: boolean; + +} + +const { kickstartUri, codeRoot } = Astro.props as Props; +--- +
+

Docker Requirements

+ + + +

This document has been tested with Docker version `27.3.1`, but should work with other versions.

+ + Testing the Docker Installation + + + + Result Of Testing the Docker Installation + + +

Install and Start

+ +

Clone the Code

+

First off, grab the code from the repository and change into that directory.

+ + + +

Start FusionAuth via Docker

+ +

You'll find a Docker Compose file (docker-compose.yml) and an environment variables configuration file (.env) in the root directory of the repo.

+ +

Stand up FusionAuth on your machine with the following command.

+ + + +

You should see multiple containers start up; one for the database, one for FusionAuth and one for our mail server.

+ +

Here you are using a bootstrapping feature of FusionAuth called Kickstart. When FusionAuth comes up for the first time, it will look at the kickstart/kickstart.json file and configure FusionAuth to the specified state. In this case, it is adding an application and a couple of users which you'll use later in the guide.

+ + + +

Initial Settings

+

FusionAuth will be initially configured with these settings:

+ +
    +
  • Your example username is and the password is .
  • +
  • Your admin username is and the password is .
  • +
  • The base URL of FusionAuth is http://localhost:9011/.
  • +
+ +

Summing Up

+ +

To verify that your system is set up, navigate to http://localhost:9011/admin and log in using the admin credentials above. You will see the FusionAuth admin UI.

+ +

Congratulations! You've got your own FusionAuth instance running on your system using Docker.

+ +
diff --git a/astro/src/components/get-started/DockerRequirements.astro b/astro/src/components/get-started/DockerRequirements.astro new file mode 100644 index 0000000000..412531aff0 --- /dev/null +++ b/astro/src/components/get-started/DockerRequirements.astro @@ -0,0 +1,23 @@ +--- +import Code from 'astro/components/Code.astro'; +import Aside from 'src/components/Aside.astro'; +--- +
+

Docker Requirements

+ + + +

This document has been tested with Docker version 20, but should work with other versions.

+ + Testing the Docker Installation + + + + + Result Of Testing the Docker Installation + + +
+ + diff --git a/astro/src/components/get-started/GitPodStart.astro b/astro/src/components/get-started/GitPodStart.astro new file mode 100644 index 0000000000..d44d7e229d --- /dev/null +++ b/astro/src/components/get-started/GitPodStart.astro @@ -0,0 +1,51 @@ +--- +import Aside from 'src/components/Aside.astro'; +import Code from 'astro/components/Code.astro'; +import { RemoteValue } from '@fusionauth/astro-components'; + +export interface Props { + /** + * Full URI to extract values from kickstart.json + * e.g. https://raw.githubusercontent.com/FusionAuth/fusionauth-quickstart-ruby-on-rails-web/main/kickstart/kickstart.json + */ + kickstartUri: string; + +} + +const { kickstartUri, api = false } = Astro.props as Props; +--- +
+ + + +

Click on the GitPod button below to start up your environment. It will take a few minutes to bring up the servers, so please be patient until the login page loads into the environment.

+ + + +

The GitPod environment will spin up Docker containers with a FusionAuth instance, any dependencies, a terminal and an editor.

+ +

Here you are using a bootstrapping feature of FusionAuth called Kickstart. When FusionAuth comes up for the first time, it will look at the kickstart/kickstart.json file and configure FusionAuth to your specified state.

+ +

After the servers start up, you will be presented with a login screen in the GitPod 'Simple Browser', as well other parts of the GitPod environment.

+ +

FusionAuth will be initially configured with these settings:

+ +
    +
  • Your example username is and the password is .
  • +
  • Your admin username is and the password is .
  • +
  • The base URL of FusionAuth is based on your GitPod environment.
  • +
+ + +

Summing Up

+ +

To verify that your system is set up, paste the below code into your GitPod terminal. When prompted, log in using the admin credentials ( with the password ). You will see the FusionAuth admin UI.

+ + + + + +

Congratulations! You've got your own FusionAuth instance running in the GitPod cloud.

+ +
+ diff --git a/astro/src/content/docs/get-started/index.mdx b/astro/src/content/docs/get-started/index.mdx index f5f6461d4c..1b6be2aea1 100644 --- a/astro/src/content/docs/get-started/index.mdx +++ b/astro/src/content/docs/get-started/index.mdx @@ -6,6 +6,7 @@ section: get started --- import LoginBefore from 'src/diagrams/quickstarts/login-before.astro'; import LoginAfter from 'src/diagrams/quickstarts/login-after.astro'; +import Aside from 'src/components/Aside.astro'; ## Introduction @@ -14,6 +15,8 @@ login, registration, localized email, multi-factor authentication, reporting and If you're looking for employee login or a replacement for Active Directory - you may be in the wrong place. While FusionAuth can be used for nearly any application, we do not offer native desktop integration and replacing Active Directory is not on our roadmap. However, if you're looking for a solution to manage end users that can perform at scale, then keep reading. + + Here's a typical application login flow before FusionAuth. diff --git a/astro/src/content/docs/get-started/start-here/_admin-access-instructions.mdx b/astro/src/content/docs/get-started/start-here/_admin-access-instructions.mdx new file mode 100644 index 0000000000..6550b5f664 --- /dev/null +++ b/astro/src/content/docs/get-started/start-here/_admin-access-instructions.mdx @@ -0,0 +1,13 @@ +--- +--- +import Code from 'astro/components/Code.astro'; + +
+Docker +Point your browser to +
+ +
+GitPod + +
diff --git a/astro/src/content/docs/get-started/start-here/_app-access-instructions.mdx b/astro/src/content/docs/get-started/start-here/_app-access-instructions.mdx new file mode 100644 index 0000000000..f9ba3c9579 --- /dev/null +++ b/astro/src/content/docs/get-started/start-here/_app-access-instructions.mdx @@ -0,0 +1,13 @@ +--- +--- +import Code from 'astro/components/Code.astro'; + +
+Docker +Point your browser to +
+ +
+GitPod + +
diff --git a/astro/src/content/docs/get-started/start-here/_mail-access-instructions.mdx b/astro/src/content/docs/get-started/start-here/_mail-access-instructions.mdx new file mode 100644 index 0000000000..12be7dfb74 --- /dev/null +++ b/astro/src/content/docs/get-started/start-here/_mail-access-instructions.mdx @@ -0,0 +1,13 @@ +--- +--- +import Code from 'astro/components/Code.astro'; + +
+Docker +Point your browser to +
+ +
+GitPod + +
diff --git a/astro/src/content/docs/get-started/start-here/index.mdx b/astro/src/content/docs/get-started/start-here/index.mdx new file mode 100644 index 0000000000..3f331e4ff5 --- /dev/null +++ b/astro/src/content/docs/get-started/start-here/index.mdx @@ -0,0 +1,358 @@ +--- +title: "Getting Started with FusionAuth: A Beginner's Guide" +description: Learn how to set up FusionAuth, integrate authentication into your app, and implement advanced features like magic link logins in this developer-friendly guide. +section: get started +subcategory: start here +navOrder: 0 +codeRoot: https://raw.githubusercontent.com/fusionauth/fusionauth-example-express-start-here/main +--- +import ListHostedLoginPagesUseCases from 'src/content/docs/_shared/_list-hosted-login-pages-use-cases.mdx'; +import StartDiagram from 'src/diagrams/docs/get-started/start-here/launch-delegate-add.astro'; +import AfterDelegateDiagram from 'src/diagrams/docs/get-started/start-here/after-delegate.astro'; +import Breadcrumb from 'src/components/Breadcrumb.astro'; +import Aside from 'src/components/Aside.astro'; +import InlineField from 'src/components/InlineField.astro'; +import InlineUIElement from 'src/components/InlineUIElement.astro'; +import DockerComposeFiles from 'src/content/docs/get-started/download-and-install/_docker-compose-files.mdx'; +import { YouTube } from '@astro-community/astro-embed-youtube'; +import DockerSpinup from 'src/components/quickstarts/DockerSpinup.astro'; +import DockerRequirements from 'src/components/get-started/DockerRequirements.astro'; +import DockerInstallAndStart from 'src/components/get-started/DockerInstallAndStart.astro'; +import GitPodStart from 'src/components/get-started/GitPodStart.astro'; +import Code from 'astro/components/Code.astro'; +import {RemoteCode} from '@fusionauth/astro-components'; +import AdminAccessInstructions from 'src/content/docs/get-started/start-here/_admin-access-instructions.mdx'; +import MailAccessInstructions from 'src/content/docs/get-started/start-here/_mail-access-instructions.mdx'; +import AppAccessInstructions from 'src/content/docs/get-started/start-here/_app-access-instructions.mdx'; + +Do you care about authentication, authorization and user management? + +Sure, you know your application needs it, but do you really want to spend time building undifferentiated functionality like social login, multi-factor authentication, or password reset? By using FusionAuth for authentication, authorization and user management, you get these benefits: + +* **pre-built authentication workflows** and integrations accelerate application delivery +* **secure storage of user credentials and profile data**, wherever you want (you host or we host) +* **new functionality and bugfixes** from the security experts on the FusionAuth team, available to your users when you upgrade +* **the same experience** and application whether you develop locally, use FusionAuth in your CI/CD system, or run it in prod +* fine grained control of the version of FusionAuth you use; **upgrades happen on your schedule, not ours** + + + +The sections in this guide are as follows: +* [FusionAuth Overview](#overview-of-using-fusionauth) +* [Prerequisites](#prerequisites) for following this guide +* [Launch FusionAuth](#launch-fusionauth) to get your FusionAuth server up and running +* [Delegate Authentication](#delegate-authentication) where you will work with the FusionAuth UI to delegate authentication for your application. +* [Add Functionality](#add-functionality) to add magic link authentication flow to your application. +* [Cleaning Up](#cleaning-up) +* [Summing Up](#summing-up) + +Ready? Great! Let's get started. + +--- + +## Overview of Using FusionAuth + +To get started with FusionAuth, you need to do three things: + +* Launch FusionAuth +* Delegate authentication to FusionAuth +* Add functionality to your application (optional, but common) + + + +For this guide, you will launch FusionAuth and delegate authentication, and then we will walk through an example where you'll add `Login With a Magic Link` functionality to an application, with no code changes required. + +## Prerequisites + +* `git` +* a web browser +* one of: + * Docker (if you follow the Docker instructions) or + * a GitHub account (if you follow the GitPod instructions) +* Docker also requires an installed version of `node` (this was tested with `v20.16.0`, but should work with any modern node version). + + + +--- + +## Launch FusionAuth + +FusionAuth is downloadable software; you can run it locally, on your cloud VM, in a container, or on FusionAuth Cloud. + +For this guide, you can either: + +* Use Docker to install and run FusionAuth and the application in containers on your own server +* Use GitPod to run FusionAuth in the cloud in your GitPod account--no software install required + + + +Click on the arrow next to Docker or GitPod below to see the instructions to get started. + +
+Docker + +
+ +
+GitPod + + +
+ +### What Did You Just Do? + +You launched a FusionAuth instance with either Docker or GitPod. It was prepopulated with application data. There are two users configured, one with admin access and one with access to the sample application. + +--- + +## Delegate Authentication + + + +What we will cover in this section: +* [Find the Application Configuration in the FusionAuth Admin UI](#find-the-application-configuration-in-the-fusionauth-admin-ui) +* [Review the Application Configuration](#review-the-application-configuration) to check the redirect URL and other settings +* [Log out of the Admin UI](#log-out-of-the-admin-ui) +* View [Application Delegation Code Excerpts](#application-delegation-code-excerpts) to explore how the Node.js application interacts with FusionAuth +* [Start Up and Log In to the Application](#start-up-and-log-in-to-the-application) to fire up the Start Here application in your environment + + +Once you have FusionAuth up and running, you need to set up your application or applications to delegate to FusionAuth. + +For this guide, there's an example `Start Here App` application which is already set up for you, which has been written to use FusionAuth for authentication. This application is maintained by Start Here, a leading provider of services to convert bills to coins and vice versa. + +Below is a diagram showing the delegation process. Click on `View Delegation Diagram` to view. + +
+View Delegation Diagram + +
+ +Let's look at that configuration, check out some code, and then start the application up so you can log in. + +### Find The Application Configuration In The FusionAuth Admin UI + +In the previous step, you logged in to the system as an admin user. Now you are going to find the application configuration. + +* Go back to that browser screen, which should be showing the admin UI dashboard, a rainbow of sections showing information about the server. +* Navigate to Applications in the left-hand sidebar. You may need to use the hamburger icon at the top left of the screen to see all options. +* Choose Edit from the Actions dropdown in the `Start Here App` application line. + +### Review The Application Configuration + +Let's look at the configured `Start Here App` to check out the application settings. + +#### The Redirect URL + +After the user signs in using FusionAuth, they need to get back to your application. You configure each FusionAuth application configuration with redirect URLs to send the user back to. + +In the application configuration you are looking at, you can review the pre-configured authorized redirect URLs. + +![The edit screen of the application.](/img/docs/get-started/start-here/edit-application.png) + +#### Other Settings + +You can also see other useful information, such as the `Client Id`, which tells FusionAuth which application configuration to use. + +There are many other settings, but they are not important for this guide, so you can leave them all alone. + +#### Log Out Of The Admin UI + +Both the admin UI and the `Start Here App` are applications in FusionAuth. Users can have access to none, one or both. + +In this tutorial, the `admin@example.com` user can access the admin UI and the `richard@example.com` can access the `Start Here App`. Later you'll log in to the `Start Here App`, so now you need to log out of the admin UI. + +Click the Logout button in the admin UI to log out from the admin user account. This is usually found at the top of the left hand navigation (you may need to click the hamburger menu to see it) but can sometimes be found at the top right corner of your window. + +### Application Delegation Code Excerpts + +To understand how the Node.JS application delegates to FusionAuth, take a quick look at some of the Node.JS application code from the GitHub repository. You can either open it up in an editor or follow along here. If you are following the GitPod path, you can click the filename in the file browser in the left hand panel to see the file in your main window. + +#### Requesting The User Authenticate + +To send the user over to FusionAuth initially, you must craft a URL that includes the `Client Id` from the configuration you reviewed above, as well as other parameters needed to offer a secure authentication experience. After the URL is created, you can forward the user there any time they need to log in. Here's the code that does that. + + + +Once the user authenticates, the redirect URL is retrieved by the browser with some additional parameters. + +#### Finishing The User Authentication At The Redirect URL + +The code running at the redirect URL needs to finish the authentication. It sends parameters from the login event to FusionAuth to do so. These include: + +* the one-time use authorization code, which is tied to the authentication event (the `authCode` variable) +* a parameter to let FusionAuth know which application the authentication is for (the `clientId` variable) +* other parameters + +FusionAuth examines the request parameters and, if they all are correct, sends a token to the Node.JS application. When the app receives these, **the user is authenticated**. The application can then let the user access data or functionality. + +Here's the code that completes the authentication. + + + +#### Storing The Token + +Once you have the token, what should the app do? One great option is to store it as a `Secure`, `HTTPOnly` cookie that the browser can then send back to other services. The above code does this using the `res.cookie` function. + +#### Accessing Protected Pages + +The application has certain pages that are protected, such as an account details page. The account page display code checks the user's identity. The browser is redirected to the home page if there is no valid token. This code is below: + + + +You can check out how all the code and templates fit together by looking at code in the `app` directory. + +### Start Up And Log In To The Application + +This section of the Delegate Authentication instructions is hands-on. You will start up the application and log in using a specific user. + + + +In your shell, type the following to start up the application: + + + +This will start a server up. Next, navigate to the application. Click on the arrow next to Docker or GitPod to see the instructions. + + + +Then, log in to the Node.JS application in the browser: + +* Click on the Login button in the upper right hand corner. +* Authenticate using the email `richard@example.com` and the password `password`. + +You may need to scroll down to see the Submit button. + +You'll then be logged to the application. From there you can view your account details or access other functionality. + +### What Did You Just Do? + +High five! In this section, you: + +* looked at FusionAuth configuration +* reviewed Node.JS application code relevant to the integration +* started the application +* logged in to the `Start Here App` application using FusionAuth + +--- + +## Add Functionality + +By delegating authentication to FusionAuth, your application gets access to all kinds of authentication and authorization functionality, such as magic link login, multi-factor authentication (MFA), social sign-on, self-service registration and more. Getting these flows out of the box is a lot of the value of using FusionAuth. + +Let's add one piece of functionality to complete this tutorial. Let's allow users to log in using magic links, where they get a link emailed to their inbox and can click on it to log in. Offering this login method reduces sign-in friction and user frustration. + + + +Since you left the Node.JS application running, open another terminal window. In GitPod this can be done by clicking the "+" on the right hand side of the terminal section of the window. + +### The Email Server + +To add a `Login With Magic Links` button, you usually have to configure an email server and then the email templates that are sent. Never fear, for this guide, we've already set up the email server and configured the templates. + +The email server is a locally running mock email server, and you can visit the inbox. Click on the arrow next to Docker or GitPod to see the instructions. + + + +### Enable Magic Links In FusionAuth + +Log out of your application and log in to the Admin UI. Click on the arrow next to Docker or GitPod to see the instructions. + + + +Navigate to Applications and then edit the `Start Here App` application using the Actions select box, the same way you did above. Navigate to the Security tab and then scroll to the Passwordless login section. You may need to resize the window or horizontally scroll the tabs to see the Security tab. + +Click the Enabled toggle. + +![Enable the magic link login.](/img/docs/get-started/start-here/enable-magic-link-login.png) + +Save your configuration change by clicking the blue disk icon. + +![Save the application.](/img/docs/get-started/start-here/save-application.png) + +Next, click the Logout button in the admin UI to log out from the admin user account. You're going to log back into the `Start Here App` application with a magic link. + +### Get A Magic Link And Log In + +Visit your application. To get to the application follow the instructions below. Click on the arrow next to Docker or GitPod to see the instructions. + + + +Click the Login button. + +Scroll down, if needed. You'll see a Login with a magic link button. + +![Login screen with magic link enabled.](/img/docs/get-started/start-here/login-screen-magic-link-enabled.png) + +Click on it and enter your user's email address (`richard@example.com`) and click Send. + +![After entering users email address.](/img/docs/get-started/start-here/login-screen-magic-link-enter-email.png) + +Now you can visit your email inbox and you'll see your magic link email. Click on the arrow next to Docker or GitPod to see the instructions. + + + +You should see something similar to: + +![Email inbox with magic link message.](/img/docs/get-started/start-here/email-inbox-magic-link-message.png) + +Click on the link, and you'll be logged into your application. + +### What Did You Just Do? + +You enabled Magic Link login for your application without touching a single line of code. + +## Troubleshooting + +If you receive an error message stating `Your account has not been registered for this application`, follow these steps: + +* Log out of the admin UI. +* Log out of the `Start Here App`. +* Log in to whichever application you are trying to access with the correct user: `admin@example.com` for the admin UI, `richard@example.com` for the `Start Here App`. + +## Cleaning Up + +If you used Docker, clean up by running `docker compose down -v` in the root directory. You can stop the Node.JS application by hitting `Control-C` in the terminal window where you are running it. + +If you used GitPod, clean up by looking for the orange GitPod command palette button in the bottom left corner of the workspace, clicking on it, and then choosing Stop Workspace. + +## Summing Up + +Congrats! You are all done with this tutorial. + +In this tutorial, you've done the following: + +* Started up your own FusionAuth instance using either Docker or GitPod. +* Examined code and configuration and started an example application. +* Extended the example application to allow login with an emailed link without writing any code. + +Let's talk about next steps. + +## Quickstarts + +Looking for an example in a particular language? Quickstarts walk you through the Launch and Delegate steps, leaving you with a running application in your framework or language of choice, to which you can add functionality. If you have Docker installed and one of over 20 frameworks and languages, [check out our quickstarts](/docs/quickstarts). + +Each quickstart includes a complete runnable application and a shell application you can build out by following the step-by-step integration instructions. + +## More Functionality + +Now that you know a bit about FusionAuth, if you are interested in learning more about the authentication related functionality it enables, there's more documentation covering: + +* [how to set up other identity providers, including SAML, OIDC and Facebook](/docs/lifecycle/authenticate-users/identity-providers/) +* [other passwordless options including and passkeys](/docs/lifecycle/authenticate-users/passwordless/) +* [enabling self-service registration](/docs/lifecycle/register-users/basic-registration-forms) to let users sign up for your application +* [how to use multi-factor authentication (MFA)](/docs/lifecycle/authenticate-users/multi-factor-authentication); note that TOTP MFA is free and included in the Community plan, but all other MFA methods require a paid license +* Sign up for a [trial FusionAuth Cloud instance](https://account.fusionauth.io/account/free-trial/start) which comes with a free Starter plan to explore [MFA and other paid features](/docs/get-started/core-concepts/premium-features) + + diff --git a/astro/src/content/docs/operate/secure-and-monitor/slack.mdx b/astro/src/content/docs/operate/secure-and-monitor/slack.mdx index 07e34929a1..25def828e6 100644 --- a/astro/src/content/docs/operate/secure-and-monitor/slack.mdx +++ b/astro/src/content/docs/operate/secure-and-monitor/slack.mdx @@ -34,7 +34,7 @@ Running FusionAuth and PostgreSQL in Docker usually looks like the diagram below In this guide, you will create a tiny service in its own container to monitor FusionAuth and call Slack if the FusionAuth logs API is not contactable, or if the logs contain an error message. The new design will look like the diagram below. -![Diagram with your server encompasing four docker dontainers for your app, FusionAuth, PostgreSQL and Custom Monitoring Service with Slack as an external API Call.](/img/docs/operate/secure-and-monitor/slack/tiny-service-monitor-fusionauth.png) +![Diagram with your server encompassing four docker containers for your app, FusionAuth, PostgreSQL and Custom Monitoring Service with Slack as an external API Call.](/img/docs/operate/secure-and-monitor/slack/tiny-service-monitor-fusionauth.png) ## Create A Slack Account diff --git a/astro/src/diagrams/docs/get-started/start-here/after-delegate.astro b/astro/src/diagrams/docs/get-started/start-here/after-delegate.astro new file mode 100644 index 0000000000..aaf9e39278 --- /dev/null +++ b/astro/src/diagrams/docs/get-started/start-here/after-delegate.astro @@ -0,0 +1,24 @@ +--- +import Diagram from "../../../../components/mermaid/SequenceDiagram.astro"; +const { alt = "Request flow during login using FusionAuth" } = Astro.props; + +//language=Mermaid +const diagram = ` +sequenceDiagram + participant User + participant App as Start Here Application + participant FusionAuth + + User ->> App : View Homepage + User ->> App : Click Login Link (to FusionAuth) + User ->> FusionAuth : View Login Form + FusionAuth ->> User : Show Login Form + User ->> FusionAuth : Fill Out and Submit Login Form + FusionAuth ->> FusionAuth : Authenticates User + FusionAuth ->> User: Go to Redirect URI + User ->> App: Request the Redirect URI + App ->> FusionAuth : Is User Authenticated? + FusionAuth ->> App : User is Authenticated + App ->> User : Display User's Account or Other Info`; +--- + diff --git a/astro/src/diagrams/docs/get-started/start-here/launch-delegate-add.astro b/astro/src/diagrams/docs/get-started/start-here/launch-delegate-add.astro new file mode 100644 index 0000000000..9e7f1fb5c0 --- /dev/null +++ b/astro/src/diagrams/docs/get-started/start-here/launch-delegate-add.astro @@ -0,0 +1,11 @@ +--- +import Diagram from 'src/components/mermaid/FlowchartDiagram.astro'; +const { alt } = Astro.props; +//language=Mermaid +const diagram = ` +graph TD +launch[Launch FusionAuth] --> delegate[Configure your application to delegate authentication to FusionAuth] +delegate --> add[Add authentication related functionality to your application] +`; +--- + diff --git a/astro/src/pages/index.astro b/astro/src/pages/index.astro index 742719cfb2..268853adcc 100644 --- a/astro/src/pages/index.astro +++ b/astro/src/pages/index.astro @@ -12,6 +12,7 @@
  • Articles (formerly Expert Advice)
  • Quickstarts
  • +
  • Get Started Tutorial
  • FusionAuth Blog
  • Docs!
  • Customize
  • diff --git a/astro/src/tools/docs/categoriesToFloatToTop.json b/astro/src/tools/docs/categoriesToFloatToTop.json index 25e038f829..6089ebd077 100644 --- a/astro/src/tools/docs/categoriesToFloatToTop.json +++ b/astro/src/tools/docs/categoriesToFloatToTop.json @@ -1,5 +1,5 @@ { "get started" : { - "EXAMPLE REMOVE ALL CAPS TEXT TO TEST download and install" : true + "start here" : true } } diff --git a/config/vale/styles/config/vocabularies/FusionAuth/accept.txt b/config/vale/styles/config/vocabularies/FusionAuth/accept.txt index 0927dc802d..ce59fcb3c6 100644 --- a/config/vale/styles/config/vocabularies/FusionAuth/accept.txt +++ b/config/vale/styles/config/vocabularies/FusionAuth/accept.txt @@ -24,7 +24,6 @@ Aposphere Appwrite Aronofsky Artifactory -Astro Atakan Atlassian Audacy @@ -528,6 +527,7 @@ Zuck [Aa]ctioning [Aa]nonymization [Aa]sciidoc +[Aa]stro [Aa]sync [Aa]utoscaling [Bb]airro @@ -653,7 +653,6 @@ architected architecting arg aspnetcore|AspNetCore -astro asynchrony atdCaptcha athleisure @@ -702,9 +701,9 @@ classloader classname classpath clickops +[cC]lientId client_id client_secret_post -clientId cockroachdb|CockroachDB codeless cofounder @@ -765,8 +764,8 @@ else's emailConfiguration emailTemplate enpdpoint -entityType entitiesNumber +entityType enum errors_message esign @@ -779,8 +778,8 @@ expirations ey facto failover -falogins failsafe +falogins fastpath|FastPath fav favicon