Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

OAuth 2.0 is a popular authorisation protocol that allows users to grant third-party applications access to their resources without revealing their usernames or passwords. It's a standard for secure access to APIs and is widely used for online authorisationshared online resources.

How does it work?

OAuath 2.0 has four main flows or grant types.   DualShield Authorisation server uses the Client Credential Grant Type

There are a few key components:

Panel
borderColor#9EBEE5
bgColor#f0f0f0
borderWidth1px

Client Application: This is the application that sends a request want to access a protected resource

Resource OwnerServer: The user who authorises an application to access their account and grants access

Resource Server: This hosts the protected resource

API or service the client wants to access, using the access token

Authorisation Server: The server that authenticates the user Client and issues access tokens (e.g. DualShield Authentication Server)

The Client Application requests access to a resource.  A Resource Owner gives permission in the form of an authorisation grant which is sent back to the client.

The client then sends the grant to the Authorisation Server.   In return, the server sends an Access Token to the Client. 

The token can then be used on the Resource Server to access the protected resource.

Please give a real life scenario example...

You wish log on to  ChatGPT and you are give the option of either signing in with an account you have already created; sign up for a new account; or continue with Googlel, Microsoft or Apple accounts.

Image Removed

You decide that you want to Continue with Google. You then click 'Continue with Google'.  You will be redirected to Google's sign in page.

You sign in with Google after which you have access to your ChatGPT profile.

...

Access Token: A credential issued by the authorization server that the client uses to access protected resources. Typically a JWT (JSON Web Token) consisting of a client ID and Client Secret.