Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bradm/1 53 blog #3244

Merged
merged 15 commits into from
Sep 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added astro/public/img/blogs/release-1-53/llama.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
45 changes: 45 additions & 0 deletions astro/src/content/blog/announcing-fusionauth-1-53.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
publish_date: 2024-09-10
title: Announcing FusionAuth Version 1.53.0 - Webhook Logs and New Lambdas
description: Version 1.53.0 of FusionAuth introduces two requested features. You can now see a history of webhooks and their statuses, and logins now have more logic.
authors: Brad McCarty
image: /img/blogs/release-1-53/fusionauth-1-53-0.png
categories: Product
tags: lambdas, login logic, webhook logs, customer data, product
excerpt_separator: "{/* more */}"
---

We recently released version 1.53.0 of FusionAuth. As we [continue our work](/blog/fusionauth-inc-5000-2024) toward simplification and a better user experience, we've added some hotly-requested features. Marching forward with our animal-based naming convention, I hereby dub version 1.53.0 The Login Lambda Llama.

Check failure on line 12 in astro/src/content/blog/announcing-fusionauth-1-53.mdx

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'fusionauth' instead of 'FusionAuth'. Raw Output: {"message": "[Vale.Terms] Use 'fusionauth' instead of 'FusionAuth'.", "location": {"path": "astro/src/content/blog/announcing-fusionauth-1-53.mdx", "range": {"start": {"line": 12, "column": 40}}}, "severity": "ERROR"}

![FusionAuth Login Lambda Llama Meme. A llama with the caption that reads Lambda Llama is suspicious of your credentials.]<img src="/img/blogs/release-1-53/llama.jpg" width="1200"/>

Check failure on line 14 in astro/src/content/blog/announcing-fusionauth-1-53.mdx

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'fusionauth' instead of 'FusionAuth'. Raw Output: {"message": "[Vale.Terms] Use 'fusionauth' instead of 'FusionAuth'.", "location": {"path": "astro/src/content/blog/announcing-fusionauth-1-53.mdx", "range": {"start": {"line": 14, "column": 3}}}, "severity": "ERROR"}

## Lambda-Based Login Control
bradmccarty marked this conversation as resolved.
Show resolved Hide resolved

Sometimes you need fine-grained control of an authentication. Here are some examples:

- A person who is a member of one group, but not of another. Weekday access to an application depends on being in both groups.
- You want to require all users who are logging in to use SAMLv2 and disallow any other kinds of login.
- Users of the Hooli application must have a hooli.com email address, while users of the Pied Piper application can have a hooli.com or a piedpiper.com email address.

Check failure on line 22 in astro/src/content/blog/announcing-fusionauth-1-53.mdx

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'hooli' instead of 'Hooli'. Raw Output: {"message": "[Vale.Terms] Use 'hooli' instead of 'Hooli'.", "location": {"path": "astro/src/content/blog/announcing-fusionauth-1-53.mdx", "range": {"start": {"line": 22, "column": 16}}}, "severity": "ERROR"}

In a scenario like these, you need more than a login failure. After all, their login information may be correct, but they just don't have access to that application. You need to be able to apply some level of logic to their authentication event. That's where login lambdas come into play. You can find a high-level overview of lambdas [inside our docs](/docs/extend/code/lambdas/).

This is an addition to our long list of lambdas, which all add flexibility and extensibility to the FusionAuth login experience.

Check failure on line 26 in astro/src/content/blog/announcing-fusionauth-1-53.mdx

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'fusionauth' instead of 'FusionAuth'. Raw Output: {"message": "[Vale.Terms] Use 'fusionauth' instead of 'FusionAuth'.", "location": {"path": "astro/src/content/blog/announcing-fusionauth-1-53.mdx", "range": {"start": {"line": 26, "column": 101}}}, "severity": "ERROR"}

In this release, there is a new lambda that runs at the moment of login. This lambda returns a list of themeable error messages. If the list is empty, the login process continues. If the list contains error messages, then the login fails and your users are presented with the error messages.

This kind of flexibility should help developers use any kind of business logic to prevent unwanted access to their applications. When combined with [Lambda HTTP Connect](/docs/extend/code/lambdas/#using-lambda-http-connect), you can even call out to external APIs and re-use existing business logic to allow or deny access.

Check failure on line 30 in astro/src/content/blog/announcing-fusionauth-1-53.mdx

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'http' instead of 'HTTP'. Raw Output: {"message": "[Vale.Terms] Use 'http' instead of 'HTTP'.", "location": {"path": "astro/src/content/blog/announcing-fusionauth-1-53.mdx", "range": {"start": {"line": 30, "column": 157}}}, "severity": "ERROR"}

Check failure on line 30 in astro/src/content/blog/announcing-fusionauth-1-53.mdx

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'apis' instead of 'APIs'. Raw Output: {"message": "[Vale.Terms] Use 'apis' instead of 'APIs'.", "location": {"path": "astro/src/content/blog/announcing-fusionauth-1-53.mdx", "range": {"start": {"line": 30, "column": 260}}}, "severity": "ERROR"}

## Webhook Event Logs

Check failure on line 32 in astro/src/content/blog/announcing-fusionauth-1-53.mdx

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'webhook' instead of 'Webhook'. Raw Output: {"message": "[Vale.Terms] Use 'webhook' instead of 'Webhook'.", "location": {"path": "astro/src/content/blog/announcing-fusionauth-1-53.mdx", "range": {"start": {"line": 32, "column": 4}}}, "severity": "ERROR"}

If you've used FusionAuth, you know we love webhooks. With over fifty different events, you can use these to share data or affect user login or creation workflows.

Check failure on line 34 in astro/src/content/blog/announcing-fusionauth-1-53.mdx

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'fusionauth' instead of 'FusionAuth'. Raw Output: {"message": "[Vale.Terms] Use 'fusionauth' instead of 'FusionAuth'.", "location": {"path": "astro/src/content/blog/announcing-fusionauth-1-53.mdx", "range": {"start": {"line": 34, "column": 16}}}, "severity": "ERROR"}

But hey, we aren't perfect! One flaw is that webhook events are not persistent within FusionAuth. This means that you couldn't view a historical record of events and their responses, which would be extremely useful for troubleshooting or reviewing history.

Check failure on line 36 in astro/src/content/blog/announcing-fusionauth-1-53.mdx

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'fusionauth' instead of 'FusionAuth'. Raw Output: {"message": "[Vale.Terms] Use 'fusionauth' instead of 'FusionAuth'.", "location": {"path": "astro/src/content/blog/announcing-fusionauth-1-53.mdx", "range": {"start": {"line": 36, "column": 87}}}, "severity": "ERROR"}

Version 1.53.0 fixes this problem by adding a webhook event log. Now you can go back in time and see what webhooks fired and when. Since we haven't invented time travel, this will only go back to the date that you upgrade to version 1.53.0, but it should help you with webhook usage and debugging going forward.

## All the Rest

There's more! We're updating to Java 21, we've spent a lot of time optimizing FusionAuth for performance, and miscellaneous bug fixes as well. You can get all of the details about this and much more in our [Release Notes](docs/release-notes/).

If you're not using FusionAuth, why not? We've made it easier than ever to kick the tires. Just [choose a plan](/pricing) and enter your email. There's no credit card required to get your trial started.

Loading