OAuth and OIDC

OAuth and OIDC are two critical, related protocols for managing secure access in modern applications. OAuth 2.0 is an **authorization** framework that enables a third-party application to obtain limited, delegated access to a user's resources on another service without sharing the user's password; for instance, allowing a photo-printing service to access your Google Photos. It accomplishes this by issuing access tokens. OpenID Connect (OIDC) is a simple identity layer built on top of OAuth 2.0 that provides **authentication**. It allows an application to verify a user's identity based on authentication performed by a trusted provider (like "Sign in with Google"), returning an ID token that contains user profile information. In short, OAuth is about what a user can *do* (permissions), while OIDC is about who a user *is* (identity).

  1. Introduction to Secure Delegated Access
    1. The Problem of Password Sharing
      1. Risks of Sharing Credentials
        1. Security Vulnerabilities
          1. Credential Compromise
            1. Unauthorized Access
            2. Limitations in Access Control
              1. All-or-Nothing Access
                1. Inability to Revoke Specific Permissions
                  1. Lack of Granular Control
                  2. Auditability and Accountability Issues
                    1. Difficulty Tracking Actions
                      1. Attribution Problems
                        1. Compliance Challenges
                      2. Authentication vs Authorization
                        1. Authentication Fundamentals
                          1. Definition and Purpose
                            1. Identity Verification Process
                              1. Authentication Factors
                                1. Something You Know
                                  1. Something You Have
                                    1. Something You Are
                                    2. Common Authentication Methods
                                      1. Password-Based Authentication
                                        1. Multi-Factor Authentication
                                          1. Biometric Authentication
                                            1. Certificate-Based Authentication
                                          2. Authorization Fundamentals
                                            1. Definition and Purpose
                                              1. Permission Granting Process
                                                1. Access Control Models
                                                  1. Discretionary Access Control
                                                    1. Mandatory Access Control
                                                      1. Role-Based Access Control
                                                        1. Attribute-Based Access Control
                                                    2. Evolution of Access Control
                                                      1. Traditional Access Control Limitations
                                                        1. Need for Delegated Authorization
                                                          1. Third-Party Integration Challenges
                                                          2. Role of OAuth and OIDC in Modern Applications
                                                            1. Enabling Secure API Access
                                                              1. Supporting Third-Party Integrations
                                                                1. Enhancing User Experience
                                                                  1. Reducing Attack Surface
                                                                    1. Federation and Single Sign-On