Authentication proves who the user is (e.g., password, OAuth, MFA). Authorization decides what they can do (e.g., role can edit invoices). AuthN comes before AuthZ.
AuthN answers "who are you?"; AuthZ answers "are you allowed?":
User logs in with OAuth (AuthN), receives a token, then the API checks role + resource ownership (AuthZ):
GET /invoices/123
AuthN: valid token for user=42
AuthZ: user=42 owns invoice=123 OR has role=finance_admin