OpenID, OpenSSO, and OAuth

My understanding of OpenID is that it provides a way for one site to contain all of your identity and peripheral information, but for other OpenID (and user-friendly) sites to reuse this information to identify and authenticate the user. In essence, this minimizes the amount of login credentials (user names and passwords) that the user has for the Internet.

My understanding of OpenSSO is that it allows you to log into one site and automatically register with all other sites that the first site trusts. In essence, this minimizes the number of times a user logs in to these different sites.

My understanding of OAuth is that it allows users to provide third-party sites with specific access to their information located on one particular site. In fact, like OpenSSO, it minimizes the number of attempts to enter the user to these different sites. The difference with OpenSSO is that OpenSSO registers the user at all participating sites at once (with full privileges enabled), while OAuth provides finer access to these participating sites.

So, firstly, if something that I said is wrong, start with a fix!

Assuming that I am more or less correct, I have the following questions / it is necessary to clarify the following points:

  • When will I choose OpenSSO over OAuth - only when I want to restrict access that other participating sites have when a user logs into one of them?
  • Are there different security risks for each of these technologies that I will have to consider and integrate into my application, or they are considered safe on their own (basically I can be sure that if my application uses them, that my application does not open for any new attacks)?

Since these technologies are so closely connected that it’s hard for me to see the whole “forest through the trees” here - thanks in advance!

+4
source share
2 answers

Not quite the right comparison. OpenID and OAuth are protocols, OpenSSO (now OpenAM) is an implementation of these and other protocols (SAML, OAuth, etc.)

Generally speaking, the OpenID and OAuth protocols are similar, even if they arise in view of various use cases. Today, there is a lot of convergence around OAuth 2.0 for federation (authentication) and authorization cases. The next generation of OpenID, called OpenID Connect , is built on top of OAuth 2.0, and its predecessors already exist on Google, Facebook, Twitter, etc ...

Regarding security, there are always some risks, especially with implementation errors. Choose a good implementation and read the specifications to understand what the risks and countermeasures are.

+2
source

OpenSSO is designed to log on to one site and log on to multiple sites.

OAuth allows one site to retrieve your data from a second site (pull out your tweets or facebook statuses) if the first site does not know how to enter the second site.

0
source

All Articles