This chapter explored in depth what happens when the OpenID Connect middleware and its underlying technologies process requests and emit responses. You learned about the main functional components of the request-processing pipeline, how they communicate with one another, and what options you have to change their behavior.
The complexity you have confronted here is something that the vast majority of web developers will never have to face—or even be aware of. Even in advanced cases, chances are that you will always use a subset of what you have read here. Don’t worry if you don’t remember everything; you don’t have to. After the first read, this chapter is meant to be a reference you can return to whenever you are trying to achieve a specific customization or are troubleshooting a specific issue. Now that you’ve had an opportunity to deconstruct the pipeline, you’ll know where to look.
The next chapter will be significantly lighter. You’ll learn more about how Azure AD represents applications.