Wednesday, July 31, 2019

Adding certificate permission for app pool

Go to mmc, select local computer and add certificate snap-in. 



From the personal store, select the certificate, right click → Tasks → Manage Private Keys and add permission to IIS_IUSRS and IIS AppPool\app pool name

Thursday, January 17, 2019

HATEOAS provider for ASP.NET Core



When comes to API maturity model there are two major models:

1. Richardson Maturity Model

2. Amundsen Maturity Model.


To attain RMM 3.0, an API defines resources, respect HTTP protocol and provide self discover able links to  other resources.


To attain AMM 3.0, the APIs are focused on the actions the API affords and consumers can take.


So, to reach maturity level 3, the API or resource MUST provide an action or a list of  actions a client can identify on that API at the run time. This translates to HATEOAS.


While doing some research on Hypermedia As The Engine Of Application State(HATEOAS), I came across some great HATEOAS providers for ASP.NET Core, but they didn't quite fit my need, so I created my own one.


You can read more details from my github page 


- https://github.com/ajopjo/AspNetCore.HypermediaLinks

Monday, November 5, 2018

Headless CMS .NET Core


Inspired from Soctt Hanselman blog:

Most of the traditional CMS systems are monolithic, UI, back end systems, admin tools..etc. Since the world is rallying towards REST, headless CMS systems are becoming popular (integrate content via APIs).

A Headless CMS is a back-end only content management system (CMS) built from the ground up as a content repository that makes content accessible via a RESTful API for display on any device.

So, if you are doing some projects using ASP.NET Core, the below are the few headless CMS frameworks:


Friday, September 7, 2018

Git flow simplified

I always get confused when it comes to git flow - from where to branch and merge. So, I kept the below cheat sheet.

  • A develop branch is created from master
  • A release branch is created from develop
  • Feature branches are created from develop
  • When a feature is complete it is merged into the develop branch
  • When the release branch is done it is merged into develop and master
  • If an issue in master is detected a hotfix branch is created from master
  • Once the hotfix is complete it is merged to both develop and master

pic courtesy -> https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

Wednesday, August 15, 2018

OSWAP (Open Source Web Application Security Project) Replay attack


OSWAP (Open Source Web Application Security Project) focused on improving the security of a software and they provides “OSWAP top 10”, a collection of most frequent vulnerabilities exist in a Web, IoT and mobile applications.

Everyone who develops web, mobile or any IoT project MUST know about OSWAP and you may be wondering why I am writing this post now. 

I lead an initiative to migrate the payment provider for our existing B2B and B2C portfolios. The following are the integration flows:

  •  Application(s) use a back end service to authenticate with the payment provider and then authorize for the $ amount.
  • The payment provider authorizes and redirects to an external hosting page to enter credit card details
  •   After the payment, the third party provider redirects to an application page with the payment status.
  •  Based on the payment status, an application can decide what's the next steps.


Since the payment provider redirects back to an application URL, there is a potential chance of a replay attack. An attacker can use the URL in another transaction.

To mitigate the risk, we used a token-based approach - a signed token is send to the payment provider during the authorization process. After the payment, the token will be send along with the redirect URL and on the confirmation page; the token will be invalidated so that the same token cannot be used in another session.

Friday, June 8, 2018

Change audio input and volume windows 10

Original post: https://www.hanselman.com/blog/AutomaticallyChangeYourAudioInputOutputAndVolumePerApplicationInWindows10.aspx


I use multiple headsets and I find it very hard to manage these headsets when I jump into conf calls.

The two utilities mentioned by Scott will be a life saver :)

Audio Switcher: A simple app runs as part of the notification area, that help you to switch default audio input and output devices. There is no down load available. You have to copy code from git and build it. Once build is completed, find the exe from the bin folder and run the AudioSwitcher.exe program.

https://github.com/davkean/audio-switcher


























EarTrumpet:https://www.microsoft.com/en-us/p/eartrumpet/9nblggh516xp?activetab=pivot%3aoverviewtab

Featured post

How to connect to Mongo Atlas from Robo 3T

If you use a local instance of MongoDB, you might be a great fan of Robo3T. However, if you are using Mongo Atlas, the Atlas web interface p...

Popular Posts