Enable Github based authentication for webMethods API Portal

webMethods API Portal guide

GitHub

As everyone knows GitHub is a web-based hosting service for software development projects that use the Git revision control system.

Facts on github

  • More than 36Million user!!!  - That would be greater than the total population of Canada/Poland.
  • Over 100Million repositories
  • Github hosts millions of open source projects which are written in 337 programming languages.
    • Javascript is the most popular language in github followed by Python and Java.
  • Most popular open source projects on github includes Bootstrap, Nodejs, JQuery

Onboard your developers from world's biggest developer community

Wouldn't that be so cool if you could enable your developer portal to onboard your application developers from worlds biggest developer community like GitHub. This can be done in below two simple steps.

  • Create/Register an app within Github

The first step would be login to GitHub and register a new OAuth app within Github. The secrets of this OAuth app will be used by the API Portal server to authenticate the developers against their Github account.

There is a detailed step-step instructions given here(https://developer.github.com/apps/building-oauth-apps/creating-an-oauth-app/) on how to register your OAuth app with in Github.

Please note that you need to provide a correct authorization callback URL (https://developer.fazio.com/umc/rest/oauth/callback)

  • Configure API Portal to use registered app

Now we are 50% done on our integration. Next step would be to configure these application secrets within API Portal User Management Console.

The OAuth app created in Github will have two read only properties.

  • Client ID
  • Client Secret

Now we are going to configure these values inside the API Portal UMC console

Login to your API Portal User Management Console(https://developer.fazio.com/umc)

Navigate to configuration section

Select OAuth

Enable "Use OAuth" and choose GitHub

Copy & Paste the Client ID/Secrets into API Keys and API secret text boxes and save.

Now we are officially done. If you logout from user management console and visit your login page, you should see an option to login using Github link visible. You can still enforce all your user onboarding policies even for the users onboarded from Github as well.