Recently I have had an internal project in my company that needs to use ADFS for Authz. I never tried to use ADFS SAML Login before. This story is to log my findings plus POC so far…


I mainly use Express and passport-saml to connect to the ADFS server in our company.

I also refer to the passport-saml doc in GitHub too.

Setup Express project

Before start, create the node project first. Create a folder (express-passport-saml-poc in my case) and init with the command: yarn init

Next, Import the required packages.

# install the express framework, passport with passport-saml
yarn add express passport…

In this story, I will build a sample Spring Boot application that serves as a simple RESTful Web Service.

If you want to skip to the result, you may check the GitHub repo.

Before reading, you may want to confirm you have installed JDK 11 on your computer.

Download a Template

Go to and set the project metadata you want. I am going to use Gradle, Java 11, and Spring Boot 2.4.5 for project initialization. Click “GENERATE” to get the project skeleton. A “” should be downloaded.

Open with VS Code and Setup the IDE for Spring Boot

You may unzip the project into any folder you want and open it with VS…

This story is going to walk through the installation for JDK 16 for further stories.

  1. Go to
  2. Download the zip file for Windows / x64
  3. Extract the folder to your drive. For my preference, I will unzip the file to C:\Program Files\Java\

4. Set up the environment variables for JAVA_HOME. Open “Settings” and search for “View Advanced System Settings”. Click “Environment Variables” and add a variable on “System variables” section with JAVA_HOME as the variable name and “C:\Program Files\Java\jdk-16.0.1” as the variable values.

Recently, I want to setup a website using GitHub pages and use React as the Frontend framework. There are lots of resources in GitHub and Google around this combination. However, there are few points that need to be aware of when I actually try to create the GitHub page.


  • Having NodeJS installed. The main component is actually the “npm”. The version I am using is 14.16.1
  • Having git installed
  • Having a GitHub account

Create a GitHub repo for your page

Michael Ho

Just some random shits faced in my job

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store