Part 2: Setup miniOrange with Github
Step 1. Configure miniOrange as SP in Github
Obtain the following steps to get callback url.
- Go to miniOrange Admin Console.
- From the left navigation bar, select Identity Provider.
- Click on the Add Identity Provider button.
- You will get the callback URL here, keep it handy this would be required in next steps.

- Login to GitHub : Go to Github Developer and login with your account. Click on settings.
- Select Developer settings.
- Create App : Select OAuth Apps and click on Register a new application button.
- Enter app credentials : Enter app name, plugin homepage URL. Copy callback URL from the plugin and paste it under Authorized callback URL field.
- Copy Client ID and Client Secret.
- This step is optional. Follow this step if the email is returned as null while further configuring the plugin. Go to profile and set public email.
- If Public Email field is disabled, go to Emails and uncheck the option Keep my email addresses private.
Step 2. Configure Github in miniOrange.
- Go to miniOrange Admin Console.
- From the left navigation bar select Identity Provider.
- Select OAuth
- Enter the following values.
- Now you can click on Save.


| IdP Name | Custom Provider |
| IdP Display Name | Choose appropriate Name |
| OAuth Authorize Endpoint | https://{Github-app-domain}/oauth2/authorize | OAuth Access Token Endpoint | https://{Github-app-domain}/oauth2/token | OAuth Get User Info Endpoint (optional) | https://{Github-app-domain}/oauth2/userInfo |
| Client ID | This value can be obtained from the above steps |
| Client secret | This value can be obtained from the above steps |
| Scope | openid |
Step 3. Test connection between miniOrange and Github
- Go to the miniOrange Admin Dashboard.
- Go to Identity Providers tab. Then click on select button under the app you just created. Then click on Test Connection.
- A new popup login window will open. Enter your credentials and login.
- Now you will see TEST SUCCESSFUL in a new popup window. If not, then check if you have missed any of the above step.