Posts

Client Credentials

Client Credentials In this blog I would like to detail on "Client Credentials" OAuth2.0 grant type. This is more popular for authentication between applications hosted under same domain and usually one of them is Non-DMZ i.e. not exposed to internet. It is typical to see this protocol applied by Financial Services Apps, wherein a Web UI Layer of application makes API calls basis "Client Credentials" protocol. Let's try to understand with an example, we have an ABCD Bank which has a Web App for its customers. Web App as a layer of application has its Controls and event handling logic along with fair bit of Presentation and Orchestration logic in its piece of code this is technically hosted on a certain Web Server exposed to Internet. But it would seldom have data or core business logic hosted in the same server or developed under same code base. You would certainly not want your KYC check logic coded inside a Javascript or a servlet (which is certainly

Authorization Code Grant

Oauth 2.0 in Financial Services As the name itself suggests this is the version 2.0 of popular authentication protocol Oauth. In this blog I would like to discuss about the protocol, different flavors of Oauth2.0 and its applications in Financial Services. also would like to touch upon the popular frameworks for implementing this in JAVA. What is Oauth 2.0 ? The Technical definition published on IETF portal is as follows "The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service , either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf."      There are 4 popular ways of using Oauth2.0        1. Authorization Code        2. Implicit        3. Password        4. Client Credentials        5. Device Code        6. Refresh Token