Skip to content

Commit

Permalink
broke apart index, made it simpler.
Browse files Browse the repository at this point in the history
  • Loading branch information
mooreds committed Nov 22, 2024
1 parent e394cde commit 1e670ec
Show file tree
Hide file tree
Showing 4 changed files with 138 additions and 29 deletions.
27 changes: 27 additions & 0 deletions astro/src/content/docs/get-started/start-here/add.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
title: Add Functionality
description: This is where you get to add all kinds of great functionality to your application with little to no effort.
section: get started
subcategory: start here
navOrder: 100
---
import StartDiagram from 'src/diagrams/docs/get-started/start-here/launch-delegate-add.astro';
import ListHostedLoginPagesUseCases from 'src/content/docs/_shared/_list-hosted-login-pages-use-cases.mdx';

<StartDiagram />
This is where the fun is! Your application now gets access to all kinds of authentication based functionality. By using FusionAuth for your authentication solution, you get access to all of these workflows:

<ListHostedLoginPagesUseCases />

How you enable functionality depends on what you are looking for. Here is a list of common functionality you might want to enable or customize.

* [Login with Google](/docs/lifecycle/authenticate-users/identity-providers/social/google)
* [Login with SAML](docs/lifecycle/authenticate-users/identity-providers/overview-samlv2)
* [Multi-factor authentication](/docs/lifecycle/authenticate-users/multi-factor-authentication)
* [Email verification](TODO)
* [Magic links](/docs/lifecycle/authenticate-users/passwordless/magic-links)
* [Set up self-service registration](/docs/lifecycle/register-users/basic-registration-forms)
* [Customize the login and other pages](/docs/customize/look-and-feel/)
* [Customize emails](/docs/customize/email-and-messages/)
* [Log users out](/docs/lifecycle/authenticate-users/logout-session-management)

18 changes: 18 additions & 0 deletions astro/src/content/docs/get-started/start-here/delegate.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
title: Delegate Authentication
description: You can delegate an application's authentication and authorization needs to FusionAuth using the Authorization Code grant.
section: get started
subcategory: start here
navOrder: 50
---
import StartDiagram from 'src/diagrams/docs/get-started/start-here/launch-delegate-add.astro';

Next, you need to update your application to delegate authentication to FusionAuth.

You have a few options:

* Most frameworks have an OIDC library. If you are familiar with one, you can use it, since FusionAuth supports OIDC. Here's a [curated list of OIDC libraries](https://oauth.net/code/).
* FusionAuth provides SDKs for the most common JavaScript frameworks: [Angular](/docs/sdks/angular-sdk), [React](/docs/sdks/react-sdk), and [Vue](/docs/sdks/vue-sdk).
* FusionAuth provides mobile SDKs: [Android](/docs/sdks/android-sdk). iOS support is coming soon, but you can use [iOS AppAuth](https://github.com/openid/AppAuth-iOS) until then.
* Client library TODO do we want to build this out

98 changes: 69 additions & 29 deletions astro/src/content/docs/get-started/start-here/index.mdx
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
---
title: Overview
title: Hands-on Tutorial
description: Curious about what FusionAuth can do? Start here to learn about it.
section: get started
subcategory: start here
navOrder: 0
---
import StartDiagram from 'src/diagrams/docs/get-started/start-here/launch-delegate-add.astro';
import DockerComposeFiles from 'src/content/docs/get-started/download-and-install/_docker-compose-files.mdx';
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';

To get started with FusionAuth, you need to do three tasks:

Expand All @@ -17,56 +19,94 @@ Here's a diagram of this process.

<StartDiagram alt="Launch, then delegate, then add functionality" />

Let's dig into each of these a bit more.
Let's walk through an example.

## Prerequisites

* git
* Docker (if you want to follow the Docker instructions)

## Launch FusionAuth

FusionAuth is downloadable software, so you need to run it somewhere.
FusionAuth is downloadable software, so you need to run it somewhere. For this guide, you can either

* Use Docker to install and run FusionAuth and the application
* Use GitPod to run FusionAuth in the cloud in your GitPod account, with no software install needed.

### Docker

<DockerComposeFiles />

There are many options.
TODO need to have this take a kickstart from the tutorial app.

* Download FusionAuth and run it on your own laptop, using [Docker and Docker Compose](/docs/get-started/download-and-install/docker) to avoid installing a database.
* Download FusionAuth as a [ZIP, DEB or RPM](/docs/get-started/download-and-install/fusionauth-app) if you have a database installed and want to use it. This will require proceeding through maintenance mode.
* Use [GitPod to run it in the cloud](TODO) in your GitPod account.
* [Spin up free trial instance in FusionAuth Cloud](TODOexpressfreetrial) if you don't want to install anything locally.
### GitPod

After all of these, you'll have to step through [Setup Wizard](/docs/get-started/download-and-install/setup-wizard) to configure your first user. You'll also be prompted to set up your first application in the admin UI, which corresponds to your mobile or web application.
TODO

### What Did You Just Do?

You launched a standalone authentication server and configured it. You set up a user with the email address `[email protected]` and the password `password`, which you will use in the next step.

## Delegate Authentication

Next, you need to update your application to delegate authentication to FusionAuth. Again, you have a few options:
Next, you need to update an application to delegate authentication to FusionAuth. This guide will use a simple nodejs application, but any language that supports OIDC or REST APIs will work. You can view working examples in over 20 languages in our [quickstarts](/docs/quickstarts).

TODO maybe use nodejs quickstart as a base https://fusionauth.io/docs/quickstarts/quickstart-javascript-express-web

### Docker

minimum to do here is:

* disable normal login (which goes against in memory database)
* update login button to point to fusionauth

Check failure on line 61 in astro/src/content/docs/get-started/start-here/index.mdx

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'fusionauth'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'fusionauth'?", "location": {"path": "astro/src/content/docs/get-started/start-here/index.mdx", "range": {"start": {"line": 61, "column": 35}}}, "severity": "ERROR"}


* Most frameworks have an OIDC library. If you are familiar with one, you can use it, since FusionAuth supports OIDC. Here's a [curated list of OIDC libraries](https://oauth.net/code/).
* FusionAuth provides SDKs for the most common JavaScript frameworks: [Angular](/docs/sdks/angular-sdk), [React](/docs/sdks/react-sdk), and [Vue](/docs/sdks/vue-sdk).
* FusionAuth provides mobile SDKs: [Android](/docs/sdks/android-sdk). iOS support is coming soon, but you can use [iOS AppAuth](https://github.com/openid/AppAuth-iOS) until then.
* Client library TODO do we want to build this out
### GitPod

### What Did You Just Do?

You updated a JavaScript application and changed it from authenticating locally to using FusionAuth.

## Add Functionality

This is where the fun is! Your application now gets access to all kinds of authentication based functionality. By using FusionAuth for your authentication solution, you get access to all of these workflows:
By delegating authentication to FusionAuth, your application gets access to authentication and authorization functionality, such as multi-factor authentication, social sign-on, self-service registration and more.

Enabling your users to log in with a different identity store is can reduce friction and user frustration. Let's enable:

* Login with Google
* Login with SAML

You can choose to do one or both of these.

### Login With Google

TODO set up sample google project

<ListHostedLoginPagesUseCases />
### Login With SAML

How you enable functionality depends on what you are looking for. Here is a list of common functionality you might want to enable or customize.
login against sandbox

* [Login with Google](/docs/lifecycle/authenticate-users/identity-providers/social/google)
* [Login with SAML](docs/lifecycle/authenticate-users/identity-providers/overview-samlv2)
* [Multi-factor authentication](/docs/lifecycle/authenticate-users/multi-factor-authentication)
* [Email verification](TODO)
* [Magic links](/docs/lifecycle/authenticate-users/passwordless/magic-links)
* [Set up self-service registration](/docs/lifecycle/register-users/basic-registration-forms)
* [Customize the login and other pages](/docs/customize/look-and-feel/)
* [Customize emails](/docs/customize/email-and-messages/)
* [Log users out](/docs/lifecycle/authenticate-users/logout-session-management)
Is there anything else that would be cool to show here?

### What Did You Just Do?

You enabled login functionality which your application can benefit from without touching a single line of code.

## Next Steps

You can dig deeper into options for:

* [launching FusionAuth](/docs/get-started/start-here/launch)
* [options for delegating](/docs/get-started/start-here/delegate)
* [adding functionality](/docs/get-started/start-here/add)

## Quickstarts

Looking for something quicker?

Quickstarts take 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.
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, you can run through [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.


24 changes: 24 additions & 0 deletions astro/src/content/docs/get-started/start-here/launch.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: Launch FusionAuth
description: To get started with FusionAuth, launch the application.
section: get started
subcategory: start here
navOrder: 10
---
import StartDiagram from 'src/diagrams/docs/get-started/start-here/launch-delegate-add.astro';
import ListHostedLoginPagesUseCases from 'src/content/docs/_shared/_list-hosted-login-pages-use-cases.mdx';

FusionAuth is downloadable software, so you need to run it somewhere.

There are many options.

* Download FusionAuth and run it on your own laptop, using [Docker and Docker Compose](/docs/get-started/download-and-install/docker) to avoid installing a database.
* Download FusionAuth as a [ZIP, DEB or RPM](/docs/get-started/download-and-install/fusionauth-app) if you have a database installed and want to use it.
* This option requires proceeding through maintenance mode where you'll configure a connection to a database.
* Use [GitPod to run it in the cloud](TODO) in your GitPod account.
* [Spin up a free trial instance in FusionAuth Cloud](TODOexpressfreetrial) if you don't want to install anything locally.
* [Use our public sandbox account](https://sandbox.fusionauth.io) if you want to look around the admin UI and integrate with a free, public cloud instance.
* Did we mention this was PUBLIC?

After all of these, you'll have to step through [Setup Wizard](/docs/get-started/download-and-install/setup-wizard) to configure your first user. You'll also be prompted to set up your first application in the admin UI, which corresponds to your mobile or web application. TODO

0 comments on commit 1e670ec

Please sign in to comment.