No history yet

Introduction to FusionAuth

What is FusionAuth?

When you build an application, you quickly run into a tricky problem: how do you handle users? You need a way for them to sign up, log in, and securely access their data. This process is called authentication (proving who you are) and authorization (deciding what you're allowed to do).

Building these systems from scratch is complicated and full of security risks. That's where a tool like FusionAuth comes in. It's a platform dedicated to managing everything related to user identity, so developers don't have to build it themselves. Think of it as a professional security guard for your application, handling all the sign-ups, logins, and permissions securely.

FusionAuth is an authentication and authorization platform that provides a central system for managing users and their access to applications.

Managing Your Users

At its core, FusionAuth is a central database for all your users. Instead of storing sensitive user information like emails and passwords in your own database, you hand that responsibility over to FusionAuth. It gives you a secure, ready-made system for all the essential user management tasks.

Lesson image

This includes:

  • User Registration: Customizable sign-up forms.
  • Login: Secure authentication for returning users.
  • Password Management: Features like password resets and enforcing strong password policies.
  • Profile Management: Allowing users to update their own information.

By providing these features out of the box, FusionAuth lets developers focus on building the unique parts of their application rather than reinventing the login page.

Who Can Do What? Roles and Permissions

Most applications need to restrict certain actions to specific users. For example, on a blog, only an 'editor' should be able to publish a new post, while a 'commenter' can only add comments. This concept is known as Role-Based Access Control, or RBAC.

Role-Based Access Control (RBAC)

noun

A method of restricting network access based on the roles of individual users within an enterprise.

FusionAuth has a powerful RBAC system. You can define different roles and then assign those roles to users. When a user logs in, your application can check their assigned roles to determine what features they are allowed to access. This makes it simple to manage permissions for thousands or even millions of users.

RoleExample Permissions
adminCan manage users and change application settings.
editorCan create, edit, and publish content.
viewerCan only view content.
commenterCan view content and post comments.

Connecting to Everything

A user management system isn't very useful if it can't connect with your applications. FusionAuth is designed for integration. It supports modern standards like OAuth and SAML, which are industry-standard ways for different systems to talk to each other securely.

This means you can integrate FusionAuth with a wide variety of technologies, including:

  • Web applications built with frameworks like React, Angular, or Vue.
  • Backend services written in languages like Java, Python, Node.js, or Go.
  • Mobile apps for iOS and Android.
  • Third-party services and APIs.

This flexibility allows you to have one central place for user identity that works across your entire technology ecosystem.

Quiz Questions 1/5

What is the key difference between authentication and authorization?

Quiz Questions 2/5

What is the primary problem that a platform like FusionAuth is designed to solve for developers?