Posts

Showing posts from November, 2020

Different ways to Authenticate a Web Application

Image
  Authentication is common way to handle security for all applications. This is only way to answer the question “who you are?” to the application, when comes to stateless architecture or service oriented architecture we got lot of new concepts and technologies in the market. In this article we will learn how to handle authentication on RESTful APIs. Authentication: Lets start by listing the various ways through which we can achieve authentication, Cookie-Based authentication Token-Based authentication Third party access(OAuth, API-token) OpenId SAML Cookie based authentication  h a s been the default method for handling user authentication for a long time. From the below diagram you can clearly see the client posts the login credential to the server, server verifies the credential and creates session id which is stored in server(state-full) and returned to client via set-cookie. On subsequent request the session id from the cookie is verified in the server and the request get processed

Spring vs Spring Boot

  Programmers need not start from scratch when they want to work on some projects. They have tools designed to help them in the development process. One of the most helpful tools is the   Framework . Using a software framework to develop applications lets us focus on the high-level functionality of the application instead of any low-level functionality which is taken care of by the framework itself. Since software frameworks are often built, tested, and optimized by several experienced software engineers and programmers, they are flexible, powerful, and efficient. What is the Spring Framework? Spring  is a  lightweight framework  that makes the development of the  JavaEE  application easier. Its called a lightweight framework because it tries to be as invisible as possible which is achieved by following  POJO-oriented  development. The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications — on any kind of deployment