Saturday, August 27, 2022

Debian: Clean up dpkg rc packages

rc means that the package is not completely removed.
dpkg --list | grep "^rc" | cut -d " " -f 3 | \
	xargs sudo dpkg --purge

Monday, August 22, 2022

Debian: Possible missing firmware

If you encounter issue like the following, you need to download/update firmware files.
W: Possible missing firmware /lib/firmware/i915

Saturday, August 1, 2020

Python ASGI CLI

Call ASGI Python application module from command line (without an application server), just like CURL. Interested?

Thursday, July 9, 2020

Authorization in Microservices Landscape

Overview

This article outlines a high-level design of authentication and authorization options in Azure per a typical SPA use case interacting with multiple microservices. Compares API gateway pattern versus a direct client-to-API communication in microservices environment.

Use Case

A user should be able to request the following information:
  1. User profile via Azure Graph API.
  2. User documents via SharePoint Online API.
  3. Aggregated data from two other internal systems.
                +----------------------+
            +-> | Azure Graph API      |
            |   +----------------------+
+---------+ |   +----------------------+
| browser |-+-> | Azure SharePoint API |
+---------+ |   +----------------------+
            |   +----------------------+     +--------+
            +-> | App API              |---> | API #1 |
                +----------------------+     +--------+
  +---------------------------+       |      +--------+
  |Microsoft Identity Platform|       +----> | API #2 |
  +---------------------------+              +--------+