Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub via the books product page, located at www.apress.com/9781484268575 . For more detailed information, please visit www.apress.com/source-code .
ISBN 978-1-4842-6857-5 e-ISBN 978-1-4842-6858-2
https://doi.org/10.1007/978-1-4842-6858-2
Adam Freeman 2021
This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Distributed to the book trade worldwide by Apress Media, LLC, 1 New York Plaza, New York, NY 10004, U.S.A. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer-sbm.com, or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.
The Author(s), under exclusive license to APress Media, LLC, part of Springer Nature 2021
A. Freeman Pro ASP.NET Core Identity https://doi.org/10.1007/978-1-4842-6858-2_1
1. Getting Ready
ASP.NET Core Identity is the user management system for ASP.NET Core applications. It provides an API for managing users and roles and for signing users into and out of applications. Users can sign in with simple passwords, use two-factor authentication, or sign in using third-party platforms provided by Google, Facebook, and Twitter.
In this book, I explain how ASP.NET Core Identity is used and how it works behind the scenes. I describe the built-in features, from those that can be used for simple applications through to deep customizations for advanced projects.
What Do You Need to Know?
This is an advanced book written for experienced developers. You should not attempt to read this book unless you are familiar with web development using ASP.NET Core. You must understand HTML and how it is produced using Razor Pages and the MVC Framework. You must have at least a basic understanding of application security, although I introduce key concepts as I explain how they are implemented by ASP.NET Core Identity.
What Is the Structure of This Book?
This book is split into two parts, each of which covers a set of related topics.
Part 1: Using ASP.NET Core Identity
In Part 1 of this book, I show you how to apply ASP.NET Core Identity to an ASP.NET Core project. I show you how to set up and configure Identity, how to use the built-in Identity UI package to manage user accounts, and how to use the API to create custom workflows. By the end of this part of the book, you will be ready to use ASP.NET Core Identity in your projects.
Part 2: Understanding ASP.NET Core
In Part 2 of this book, I dig deep into the detail and explain how the features used in Part 1 are implemented, how they can be customized, and how they relate to the features provided by the ASP.NET Core platform. By the end of this part of the book, you will be ready to create custom implementations of the interfaces that shape ASP.NET Core Identity to suit the needs of the most advanced ASP.NET Core projects.
What Doesnt This Book Cover?
As noted, this book is for experienced ASP.NET Core developers who want to understand ASP.NET Core Identity and apply it in their ASP.NET Core project. It doesnt explain the basics of web applications or programming. It doesnt describe the ASP.NET Core platform, other than as it relates to how Identity works.
I cover the authentication scenarios that are used by the majority of Internet-facing ASP.NET Core projects. I dont describe the ASP.NET Core authentication features that are not related directly to ASP.NET Core Identity, such as integration with Active Directory or with third-party products, such as IdentityServer (which, despite its name, is not directly related to ASP.NET Core Identity and is more of an alternative).
What Software Do I Need for the Examples?
You need the same set of tools you use for ASP.NET Core development, including the .NET SDK and Visual Studio or Visual Studio Code. I describe the setup required for this book in Chapter .
How Do I Set Up the Development Environment?
Chapter introduces ASP.NET Core Identity by creating a simple application, and, as part of that process, I tell you how to create a development environment for following the examples in this book .