The OAuth Protocol, often known as "Open Authorization," is a widely used authorization Protocol. The OAuth protocol has two current versions: OAuth 2.0 and OAuth 1.0. Using this open standard authorization protocol , users can grant limited access to their protected resources (such data or services) on one website or application to another website or application without disclosing their login information. This protocol allows users a secure and standardized way to giving permission for other websites or applications to use their resources on their behalf.
The OAuth Protocol primarily involves the following entities:
The Resource Owner : The end user who owns the resource that an application wants to access.
Client: The application seeking access to the resources on behalf of the resource owner.
Resource Server : The server hosting the user's (the resource owner's) original resources.
Also, The "Authorization Server" is another entity that is accountable for the user's secure authorization. It manages the authorization process and gives access tokens to third party applications or websites so they can access the user's (the resource owner's) resources on their behalf.
OAuth Protocol works by mainly establishing the handshake between the third party applications / websites and the resource server.When a client visits a third-party application or website, they are redirected to the authorization server, where they authenticate themselves using their login credentials and allow or deny access to the resources. This trust relationship is established at this point. The third party application can utilize this access token to access the resources on behalf of the users when the authorization server issues the access token after the user grants access to the desired resources. Once the application has obtained the access token, it sends the request along with the access token to the resource server for verification. If the access token is found to be valid, the resource server permits the third-party application to access the resources.
The OAuth Protocol provides a number of different grant types, and the user may configure any of them based on their suitability for a given use case. Authorization Grant, Refresh Token Grant, Password Grant, Implicit Grant, and Client Credential Grant were among the grant types that were supported. The OAuth Protocol has been extensively embraced as the norm for authentication and authorization in many contexts, including social networking, APIs, and single sign-on systems.