ASP.NET Core and MongoDB (edit)
Cloud: AWS
Configuring the AWS SDK for .NET with .NET Core - AWS SDK for .NET (version 3) (amazon.com)
NuGet Packages:
+ AWSSDK.S3 (Amazon Simple Storage Service (Amazon S3), provides developers and IT teams with secure, durable, highly-scalable object storage.)
+ AWSSDK.Extensions.NETCore.Setup (Extensions for the AWS SDK for .NET to integrate with .NET Core configuration and dependency injection frameworks.)
+ AWSSDK.DynamoDBv2 (Amazon DynamoDB is a fast and flexible NoSQL database service for all applications that need consistent, single-digit millisecond latency at any scale.)
+ AWSSDK.CognitoIdentity (Amazon Cognito is a service that makes it easy to save user data, such as app preferences or game state, in the AWS Cloud without writing any backend code or managing any infrastructure. With Amazon Cognito, you can focus on creating great app experiences instead of having to worry about building and managing a backend solution to handle identity management, network state, storage, and sync.)
Amazon Cognito: User Identity Management
Successful web or mobile applications can reach millions of users, and it is critical that such applications have a robust and scalable approach for user and identity management.
Applications can have specific requirements, such as using their own identity store, or leveraging an existing identity provider such as Facebook, Google, or Amazon. Some need to use a combination of their own identity store with existing identity providers. This is often coupled with requirements for a user interface that handles user registration, login, user verification, and forgotten passwords.
Amazon Cognito enables you to add user sign-up, sign-in, and access control to your web and mobile apps quickly and easily. Amazon Cognito scales to millions of users and supports sign-in with social identity providers, including Facebook, Google, and Amazon, and enterprise identity providers via SAML 2.0.
Amazon Cognito can also be used to control access to REST APIS through integration with the Amazon API Gateway service, and can reduce the work to authenticate web application users by integrating with
the Application Load Balancer.
Security features include multi-factor authentication, checks for compromised credentials, account takeover protection, and phone and email verification. Amazon Cognito also supports application specific identity stores, user profiles, and customized workflows and user migration through Lambda triggers.
+ ASP.NET Core Identity for Amazon Cognito
Introducing the ASP.NET Core Identity Provider Preview for Amazon Cognito | AWS Developer Tools Blog
DB: MongoDB
MongoDB - How to backup and restore a database | Jason Watmore's Blog
Client: React JS Boilerplate
Framework: Open Source ASP.NET Core 5.0 Web API
vb-software/netcore-webapi-starter: .NET Core Web API Starter Template (github.com)
Article:
Build a Basic CRUD App with ASP.NET Core 3.0 and MongoDB | Okta Developer
Tag:
ASP.NET Core 3.1 - Role Based Authorization Tutorial with Example API | Jason Watmore's Blog
Idea:
Authentication/Authorization:
- Email sign up and verification
- JWT authentication with refresh tokens
- Role based authorization with support for two roles (User & Admin)
- Forgot password and reset password functionality
- Account management (CRUD) routes with role based access control
- Swagger api documentation route
Node.js + MongoDB API - JWT Authentication with Refresh Tokens | Jason Watmore's Blog
ASP.NET Core 3.1 API - JWT Authentication with Refresh Tokens | Jason Watmore's Blog