Skip to content

Conversation

pankajtaneja5
Copy link
Contributor

What

  • Clarifies that OAuth 2.0 is an authorization framework (not an authentication protocol).
  • Replaces the legacy “OpenId” subsection with “OpenID Connect (OIDC)” and an accurate, current description (ID Token, claims, RP validation).
  • Adds a See also link to the OAuth 2.0 Cheat Sheet for implementation guidance.

Why

  • The live Authentication CS still contains outdated “OpenId” text and language that can imply OAuth handles authentication, which is misleading for readers.

References

  • RFC 6749 — The OAuth 2.0 Authorization Framework (IETF)
  • OpenID Connect Core 1.0 — OpenID Foundation
  • OWASP OAuth 2.0 Cheat Sheet

You're A Rockstar

Thank you for submitting a Pull Request (PR) to the Cheat Sheet Series.

🚩 If your PR is related to grammar/typo mistakes, please double-check the file for other mistakes in order to fix all the issues in the current cheat sheet.

Please make sure that for your contribution:

  • In case of a new Cheat Sheet, you have used the Cheat Sheet template.
  • All the markdown files do not raise any validation policy violation, see the policy.
  • [x ] All the markdown files follow these format rules.
  • All your assets are stored in the assets folder.
  • All the images used are in the PNG format.
  • [ x] Any references to websites have been formatted as [TEXT](URL)
  • You verified/tested the effectiveness of your contribution (e.g., the defensive code proposed is really an effective remediation? Please verify it works!).
  • The CI build of your PR pass, see the build status here.

If your PR is related to an issue, please finish your PR text with the following line:

This PR fixes issue #1763 .

Thank you again for your contribution 😃

jmanico
jmanico previously approved these changes Aug 30, 2025
Copy link
Member

@jmanico jmanico left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is fantastic. I can't say enough how happy I am that you fixed this.

@jmanico
Copy link
Member

jmanico commented Aug 30, 2025

A small fix is needed...

/home/runner/work/CheatSheetSeries/CheatSheetSeries/cheatsheets/Authentication_Cheat_Sheet.md
308:295 ✓ error Incorrect term: “end-user”, use “end user” instead terminology

@pankajtaneja5
Copy link
Contributor Author

Thanks! I’ve updated “end-user” → “end user” in both places and removed the legacy OAuth/OpenId blocks. Markdown lint is clean locally. Let me know if you’d like any further wording tweaks.

Copy link
Member

@jmanico jmanico left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice job

@@ -303,21 +303,17 @@ Enable logging and monitoring of authentication functions to detect attacks/fail

While authentication through a combination of username, password, and multi-factor authentication is considered generally secure, there are use cases where it isn't considered the best option or even safe. Examples of this are third-party applications that desire to connect to the web application, either from a mobile device, another website, desktop, or other situations. When this happens, it is NOT considered safe to allow the third-party application to store the user/password combo, since then it extends the attack surface into their hands, where it isn't in your control. For this and other use cases, there are several authentication protocols that can protect you from exposing your users' data to attackers.

### OAuth
### OAuth 2.0

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about "OAuth 2"? OAuth 2.1 is going to be around somewhat soon (?) and all of his applies to OAuth 2.0 as well as OAuth 2.1.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should only mention 2.0 and 2.1

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pankajtaneja5 can you add that


### OpenId

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add something on this subsection explaining that OpenId is completely different from OpenID Connect? That is a frequent source of confusion ("We will integrate with ThirdPartySoftware, they do OpenID and we support it." two weeks later "Actually we don't support OpenID but OpenID Connect 😢 ")

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree 100%. One is for delegation and one is for Federation

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pankajtaneja5 can you add that?


Open Authorization (OAuth) is a protocol that allows an application to authenticate against a server as a user, without requiring passwords or any third-party server that acts as an identity provider. It uses a token generated by the server and provides how the authorization flows most occur, so that a client, such as a mobile application, can tell the server what user is using the service.
**OAuth 2.0 is an authorization framework**, not an authentication protocol. It enables a client to obtain scoped, time-limited access to protected resources via access tokens issued by an authorization server. Use OAuth 2.0 for **authorization** (delegating access to APIs and resources). For end-user authentication/SSO, use **OpenID Connect (OIDC)** (see below).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"client" → "client application"?

@jmanico
Copy link
Member

jmanico commented Sep 1, 2025

These are all excellent suggestions

jmanico
jmanico previously approved these changes Sep 1, 2025
@pankajtaneja5
Copy link
Contributor Author

✅ Follow-ups addressed:
• Updated heading to OAuth 2.0 and 2.1 and added a short note that guidance applies to both.
• Added a clarification that legacy OpenID 2.0 is not OIDC (and is obsolete).
• Fixed terminology to “end user”.
Thanks for the quick feedback! @randomstuff @jmanico @mackowski

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants