Posts

Showing posts from 2017

nginx on Docker

nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server Docker  is an open platform for developers and sysadmins to build, ship, and run distributed applications, whether on laptops, data center VMs, or the cloud I’m going to do a quick run thru of building a web server that returns ‘hello world’ as html and json, using Nginx and Docker under the covers Make sure you have docker & nginx installed before proceeding further Run the following commands to set up files & folders  mkdir hello_world_docker_nginx cd hello_world_docker_nginx touch Dockerfile docker-compose.yml mkdir src conf touch src/index.html conf/nginx.conf After running the above commands, file structure would look like ├── Dockerfile ├── conf │   └── nginx.conf ├── docker-compose.yml └── src └── index.html copy the below contents in the mentioned files index.html : <!DOCTYPE html> <html> <head> <met

What the hell is nodejs call back ?

Image
Callback is an asynchronous function. A callback function is called at the completion of a given task. Node makes heavy use of callbacks. All the APIs of Node are written in such a way that they support callbacks. Usually there are two way to write node functions - Blocking Code & Non-Blocking Code. Both of them have their own use cases. Non-Blocking code means the functions are executed parellelly (asynchronously) which is preferred when performance is a key factor (for example think of UI, where widgets gets loaded parellelly). Node scripts that use callbacks is hard to get right intuitively.  A lot of code ends up entagled and becomes hard to understand, debug. Typical sequential function using callback would look like same function when you want to execute parellely would look like Above scripts are example of creating your own functions however there are npm libraries https://www.npmjs.com/package/async

Validate Cognito tokens in Kong

Assuming Kong environment is set up and operating as expected, this blog helps to Validate Cognito tokens in Kong.  JWT token issued by popular  identity  solutions such as Auth0 , Amazon Cognito etc., can be easily Authorized by kong.  Here are the steps to validate JWT token issued by Auth0 in Kong.  In this blog, I am going to focus on how to validate JWT token issued by Amazon Cognito.  Assuming that Amazon Cognito user pools are set up and operating as expected.  Every  successful authentication of a user, Amazon Cognito issues  ID Token Access Token ID token is represented as a JSON Web Key Token (JWT).  The token contains claims about the identity of the authenticated user. For example, it includes claims such as  name ,  family_name ,  phone_number , etc., For more information about standard claims, see the  OpenID Connect specification . Extract the public key from Amazon Cognito public endpoint using   https://cognito-idp.{region}.amazonaws.com/{userPoolId}/