Before we dive deep into the concept of OAuth2.0, lets first understand with below two terminologies:
- Authentication.
- Authorization.
Authentication(who you are):
- Authentication is the process of proving your own identity to third party service. It verifies whether a person’s identity is the same as he or she had declared himself or herself to be.
- Authorization is the process of giving someone permission to do something or have something. In this process, a person grants another person to have some of its resources or use some of its resources.
- It is done after successful Authentication. Here an Authorization server is providing access to third-party services to use some of its resources.
The requesting, granting, and life management of this tokens are often referred to as a “flow”. The OAuth specification allows for several ways of obtaining and validating tokens, and not all flows are meant for all types of clients.
There are more than one flows available for OAuth.
Here, we will mainly discuss for below two flows:
- Client Credential Flow
- Authorization Code Flow
- First the client application register itself with the OCI IAM authorization server. As a part of the registratration, the client chooses the flow or grant_type as the client credential(client id and secrect) and chooses the app role or roles(service developer or service invoker) that it needs to access the APIs
- Client (an application or machine) requests access token using its credentials
- OCI IAM validates and generates a token.
- Access token is sent back to the client.
- Client use access token as authentication to call the APIs
- Return the APIs data to the client.
- First the client application register itself with the OCI IAM authorization server. As a part of the registratration, the client chooses the flow or grant_type as the client credential(client id and secrect) and chooses the app role or roles(service developer or service invoker) that it needs to access the APIs
- The Client (A user over mobile or web application) submits an authorization request through a browser to the authorization server's authorization endpoint.
- The authorization server authenticates the user and approve or deny consent for the client to access the user's resource.
- In return, the client gets an authorization code that it exchanges for an access token at the token endpoint.
- The client uses the access token to invoke the API and gets the protected data in return.
- Add application details(application name)
- Configure OAuth
- Config as client flow
- Select client credential and refresh token authrization
- Client ip address anywhere
- Add resources >> add scope for the oic integration instance.
- Configure policy if needed
- Add app roles
- Add application details(application name)
- Configure OAuth
- Config as client flow
- Select client credential and refresh token authrization
- Client ip address anywhere
- Add resources >> add scope for the oic integration instance.
- Configure policy if needed
- Oauth is mandatory in OIC 3.
- Recommnended to use Design time url with parameter integrationinstance
- Managing Integrations: List, activate, deactivate, or delete integrations.
- Monitoring: Check the status of integrations, view errors, and retrieve logs.
- Instance Management: Manage and monitor specific integration instances.
- Connections and Adapters: Manage connections and adapters, including creation, update, and deletion.
- Error Handling: Fetch and manage error details for integration runs.