ASP.NET Core and MongoDB (edit)
Configuring the AWS SDK for .NET with .NET Core - AWS SDK for .NET (version 3) (amazon.com)
+ 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
aws/aws-aspnet-cognito-identity-provider: ASP.NET Core Identity Provider for Amazon Cognito (github.com)
MongoDB - How to backup and restore a database | Jason Watmore's Blog
Client: React JS Boilerplate
cornflourblue/react-signup-verification-boilerplate: React Boilerplate - Email Sign Up with Verification, Authentication & Forgot Password (github.com)
Framework: Open Source ASP.NET Core 5.0 Web API
vb-software/netcore-webapi-starter: .NET Core Web API Starter Template (github.com)
Build a Basic CRUD App with ASP.NET Core 3.0 and MongoDB | Okta Developer
ASP.NET Core 3.1 - Role Based Authorization Tutorial with Example API | Jason Watmore's Blog
c# - Simple token based authentication/authorization in asp.net core for Mongodb datastore - Stack Overflow
Node + Mongo - Boilerplate API with Email Sign Up, Verification, Authentication & Forgot Password | Jason Watmore's Blog
- 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