OAuth 2.0 - Tokens, Client types, Endpoints and Scope

There are two types of tokens in OAuth 2.0, the access token, and the refresh token. Access token The access token represents the authorization of a specific application to access specific parts of a user’s data. Access tokens must be kept confidential in transit and in storage. The only parties that should ever see the access token are the application itself, the authorization server, and resource server. The access token can only be used over an https connection, since passing it over a non-encrypted channel would make it trivial for third parties to intercept. ...

July 13, 2017 · (updated January 16, 2022) · 5 min · Pradeep Loganathan
Consensus Algorithms

Consensus algorithms

Consensus is one of the most important and fundamental problems in distributed computing. Simply put, the goal of consensus is to get several nodes to agree on something. It is a distributed computing concept that is used to provide a means of agreeing to a single version of truth by all peers on the distributed network.

July 12, 2017 · (updated December 21, 2024) · 9 min · Pradeep Loganathan

Merkle Trees

A Merkle tree, named for its inventor, Ralph Merkle, is also known as a “hash tree". It’s a data structure represented as a binary tree, and it’s useful because it summarizes in short form the data in a larger data set. In a hash tree, the leaves are the data blocks (typically files on a filesystem) to be summarized. Every parent node in the tree is a hash of its direct child node, which tightly compacts the summary. ...

July 12, 2017 · (updated January 16, 2022) · 3 min · Pradeep Loganathan
CORS

Cross origin resource sharing CORS

Cross-Origin Resource Sharing or CORS is a mechanism that enables a web browser to perform cross-domain requests. Cross-domain requests are HTTP requests for resources hosted on a different domain than the domain of the resource making the request.

July 10, 2017 · (updated December 21, 2024) · 7 min · Pradeep Loganathan
Hexagonal architectures

Hexagonal Architectures

Hexagonal architecture aims to decouple business logic from other parts of the component, especially the persistence, eventing and services layers. A component, built on the ports and adapters pattern, exposes a set of ports to which one or more adapters can be added as necessary.

July 10, 2017 · (updated February 2, 2024) · 4 min · Pradeep Loganathan

Public Key Cryptography

The concept of public-key cryptography was invented by Whitfield Diffie and Martin Hellman, and independently by Ralph Merkle.Their contribution to cryptography was the notion that keys could come in pairs—an encryption key and a decryption key—and that it could be infeasible to generate one key from the other. Diffie and Hellman first presented this concept at the 1976 National Computer Conference ; a few months later, their seminal paper “ New Directions in Cryptography ” was published. ...

July 6, 2017 · (updated December 21, 2024) · 5 min · Pradeep Loganathan

What is a Hash? Hashing algorithms and the secrets they keep.

A hash is a one-way function that maps data of any arbitrary length to an output digest of fixed length, where it is computationally infeasible to find the input from the output. The values returned by a hash function are often known as Message digest, hash values, hash codes, hash sums, checksums, or simply hashes. Hash functions are keyless and provide the data integrity service. They are usually built using iterated and dedicated hash function construction techniques. A hash function compresses data to a fixed size, which could be considered a shortened reference to the original data. The hash function should be easy to compute but hard to invert. For compression, hash functions usually utilize a one-way function of number theory; hence, they are irreversible. Consequently, it is infeasible to reconstruct specific data when a hash value is known. A hash is a one-way function because it cannot be reversed. We can think of a hash as a digital fingerprint of data that is input into it. These types of hash functions are used in many ways. They can be used for authentication, indexing data into hashed tables, checksums, and digital signatures. An example of an SHA256 hash looks like this: 4UsOw2gKuwzwFpY2UH8cDnfMOqHM7Gv5XZBFxDnV4Ww. ...

July 1, 2017 · (updated December 27, 2024) · 9 min · Pradeep Loganathan
asp.net core framework lifecycle

ASP.NET Core framework lifecycle.

A lifecycle encompasses how a web application handles incoming requests, processes them, and generates responses. It is fundamental for developing efficient, scalable, and maintainable web applications

May 31, 2017 · (updated December 21, 2024) · 10 min · Pradeep Loganathan
AWS CloudFormation

AWS CloudFormation

AWS CloudFormation is an IaC tool for creating AWS resources in a declarative way.

May 30, 2017 · (updated December 21, 2024) · 6 min · Pradeep Loganathan

Startup VLog - Week 1

As promised last week, I am publishing the first week 1 roundup of my vlog. As I started off my initial focus was on product planning, market analysis, architecture, road map discussions etc. All of this was blown away very soon by the nuts and bolts of running a small organization with zero support. I ran headlong into red tape in registering the company which took a few days to get sorted out. I had to understand terms like Memorandum of Association (MOA), Article of Association (AOA) and many others. Post this was bank work and some more legal documentation. ...

May 28, 2017 · (updated December 21, 2024) · 2 min · Pradeep Loganathan