Securing Digital Identities: Streamlining Authentication with AWS Cognito in Blazor .NET 8 Applications

Previously, we explored AWS Cognito, an essential service from AWS for managing identities and access. We delved into its use cases, benefits, and why it’s worth considering for your projects. If you missed that post, you can read it here.

In this post, we’re focusing on integrating AWS Cognito with a .NET 8 Blazor WebApp. This involves using .NET 8’s authentication features, such as OpenID Connect, Authentication, and JWTs. We aim to make this process straightforward, breaking it down into easy steps for better understanding.

This post is organized into three key areas:

  1. Setting Up AWS Cognito Service: Laying the groundwork for integration.
  2. Integrating AWS Cognito with Your .NET 8 Blazor WebApp: Step-by-step implementation.
  3. Adding Authentication to Your Blazor WebApp Using AWS Cognito: Enhancing security and user management.
Read More »

Securing Digital Identities: A Deep Dive into AWS Cognito and Its Ecosystem

In our digital world, stories of password breaches and security mishaps are all too common, reminding us of the critical need for tight security. Consider these recent high-profile incidents:

  • LinkedIn (2012): Over 100 million email and password combinations exposed.
  • Ashley Madison (2015): Personal details of 32 million users leaked.
  • eBay (2014): Attackers accessed 145 million users’ records through employee logins.

These incidents highlight the glaring need for robust security measures. AWS Cognito emerges as a powerful tool for managing user sign-up, sign-in, and access, ensuring smooth authentication processes across platforms.

Read More »

Seamless Rendering: The Magic of Blazor’s Auto Render Mode in .NET 8

Blazor’s journey from its inception has been marked by continuous enhancements, making it a compelling choice for developers. The advent of .NET 8 brings forth a noteworthy feature – the Auto Render Mode, bridging the gap between Blazor Server and Blazor WebAssembly. This mode is a game-changer as it provides the best of both worlds: the speed of Blazor Server for initial rendering and the client-side capabilities of Blazor WebAssembly for subsequent interactions. By smartly toggling between server and client rendering based on the situation, Auto Render Mode elevates the user experience by reducing load times and improving interactive performance, making Blazor an even more enticing framework for modern web development.

Read More »

Beyond Caching: Building an ASP.NET Core 7 Blazor App with Redis for Real-Time Updates

Introduction

Recently, I’ve been exploring Redis and its potential beyond merely being a cache service. In this post, I’ll show you how to use Redis as a fast and scalable data store for your .NET 7 applications. We’ll create a Blazor Server application with a .NET 7 minimal API back end that uses Redis to implement a real-time scoreboard for multiple players. I’ll also discuss why and when to use Redis, and how it differs from other data stores.

Redis: What’s the Big Deal?

Redis is a fully managed, in-memory data store providing high performance, availability, and scalability for your applications. It supports various data structures such as strings, hashes, lists, sets, sorted sets, bitmaps, hyperloglogs, streams, and geospatial indexes. Additionally, it supports transactions, Lua scripting, Pub/Sub messaging, and cluster mode for horizontal scaling and high availability.

While commonly used as a cache service to reduce latency and load, Redis can serve as a primary data store for specific use cases that require rapid and frequent read/write operations on small pieces of data.

Read More »

Continuous Deployment with GitHub Actions to AWS Elastic Container Service (ECS)

Welcome to the fourth and final part of our series, where we aim to tie together the knowledge and skills acquired in the previous instalments:

๐Ÿ’ป How to Create a Custom Slack Bot with .NET 7

๐Ÿš€ Creating a Minimal API With ASP.NET Core That Interacts With AWS DynamoDB

๐Ÿ”ง Creating and Hosting An Application on AWS Elastic Container Service (ECS)

๐ŸšขContinuous Deployment with GitHub Actions to AWS Elastic Container Service (ECS)

Today, we focus on the ultimate step in the development cycle: the implementation of Continuous Deployment using GitHub Actions to AWS Elastic Container Service (ECS). We’ll take the elements we’ve built in previous parts, and integrate them into a comprehensive, streamlined deployment process. Let’s begin.

Read More »

Creating and Hosting An Application on AWS Elastic Container Service (ECS)

In the ever-evolving tech landscape, the call for efficient and reliable ways to deploy applications is ringing louder than ever. But no worries! Thanks to robust tools like GitHub Actions, Docker, and the AWS Services, automating the deployment of ASP.NET Core applications to AWS ECS has become a lot easier.

This is our third post in the series of building a Slack Bot hosted in AWS. In this post we’ll delve into how to create and host our ASP.NET Core API on an Elastic Container Server (ECS).

๐Ÿ’ป How to Create a Custom Slack Bot with .NET 7

๐Ÿš€ Creating a Minimal API With ASP.NET Core That Interacts With AWS DynamoDB

๐Ÿ”ง Creating and Hosting An Application on AWS Elastic Container Service (ECS)

๐ŸšขContinuous Deployment with GitHub Actions to AWS Elastic Container Service (ECS)

Read More »

Creating a Minimal API With ASP.NET Core That Interacts With AWS DynamoDB

In this blog post, we will guide you through the process of creating a simple .NET 7 API that interacts with DynamoDB. Additionally, we will integrate our SlackBot console application, which we introduced in a previous blog post How to Create a Custom Slack Bot with .NET 7.

This is the second post in the series

๐Ÿ’ป How to Create a Custom Slack Bot with .NET 7

๐Ÿš€ Creating a Minimal API With ASP.NET Core That Interacts With AWS DynamoDB

๐Ÿ”ง Creating and Hosting An Application on AWS Elastic Container Service (ECS)

๐Ÿšข Continuous Deployment with GitHub Actions to AWS Elastic Container Service (ECS)

Before we dive into the details, it’s important to note that we could have created everything within the SlackBot console application. If you prefer that approach, feel free to do so. However, in this post, we are creating a separate Web API to allow for future integration with front-end applications, rather than solely relying on the SlackBot console application.

In this post, we are going to cover creating our ASP.NET Core API first. We will then add a ping endpoint to ensure our Web API is working as expected. Next, we will create an IAM role in the AWS Management Console, create a DynamoDB table in the AWS Management Console, add the AWSDynamoDB SDK and finally the code needed to call our DynamoDB table in AWS.

Read More »

How to Create a Custom Slack Bot with .NET 7

Welcome, readers!

I am thrilled to launch my new blog series on building a .NET 7 Slack Bot that can interact with AWS Services. In this series, we’ll also walk through the entire process of setting up an AWS Elastic Container Storage (ECS) and a continuous deployment pipeline using GitHub actions.

๐Ÿ’ป How to Create a Custom Slack Bot with .NET 7

๐Ÿš€ Creating a Minimal API Qith ASP.NET Core That Interacts With AWS DynamoDB

๐Ÿ”ง Creating and Hosting An Application on AWS Elastic Container Service (ECS)

๐ŸšขContinuous Deployment with GitHub Actions to AWS Elastic Container Service (ECS)

In this first post, we’ll dive into creating the .NET 7 console application. We’ll be leveraging a 3rd party library developed by Simon Oxtoby to simplify the Slack integration process. Along the way, we’ll guide you through the setup of creating a Slack integration and show you how to implement a simple ping command in our application to verify that everything is functioning as it should.

So, buckle up, grab your favourite beverage, and let’s dive into the exciting world of .NET 7 Slack Bot development!

Read More »

Using Playwright and the WebApplicationFactory To Test Your Blazor Application

There are many posts around Playwright .NET. These cover set up and running it against hosted sites.

What I didn’t find many posts on, was running Playwright .NET using Microsofts WebApplicationFactory. Why? Because it isn’t as simple as implementing the WebApplicationFactory with Playwright .NET and hitting run.

I’ll show how you can create a CustomWebApplicationFactory that will allow you to run your Playwright .NET tests locally using the WebApplicationFactory in .NET 6.

Before getting into the post, I want to give a shout out to Martin Costello. By viewing his solution in GitHub I was able to get my solution working and to write up this post.

Read More »

Playwright for .NET

I’ve been investing time in researching different end to end testing frameworks. I have been looking for an automation framework that is reliable, fast, cross-browser, and easy to develop. 

Playwright’s relatively new testing framework caught my attention. Playwright is a Microsoft owned and developed framework for end to end testing.

While taking time to learn and understand this framework, I thought I would write a series of posts related to it. 

Read More »