Android App to test API requests against the GitHub API.

Last update: May 20, 2022

Reproducing an issue with GitHub's IP allowlist feature

GitHub provides a feature for Enterprise orgs to define an IP allowlist. Requests to the GitHub org's API will be blocked if the client IP address is not in that list.

Working on the GitHub for Jira app, we have identified some issues with this feature. In this repo, I want to document these issues and how to reproduce them.

Steps to reproduce

Create a tunnel

For the OAuth dance between GitHub and the test app to work, you need to expose port 8080 to the internet:

You can use ngrok for this (setup instructions).

Once ngrok is setup, run ngrok http 8080

Create a GitHub app

Go to https://github.com/settings/apps and create a new GitHub app:

  • as callback URL, enter the URL that ngrok gives you, plus the suffix /callback.
  • disable "expire user authorization tokens"
  • disable the "Active" checkbox under "webhooks"
  • give "read-only" access for the "Metadata" permission
  • after hitting "Create", on the following page click the button "Generate a private key" and save the .pem file for later.
  • from the "General" tab of your app, copy the "App ID" and "Client ID" for later use
  • in the "General" tab of your app, generate a client secret and copy it for later use

Install the GitHub app into an org

  • in the settings of your GitHub app, click "Install App"
  • choose one of your orgs and click on "Install"
  • follow the prompts

Run the test app

  • you need Java 17 or higher installed
  • clone this repo
  • copy the private key you downloaded earlier into the file private-key.pem in the main folder of the repo
  • copy the "App ID", "Client ID", and "Client Secret" into the respective fields in the file src/main/resources/application.yml
  • run ./gradlew bootrun in the main directory of this repo to start the app
  • open your browser at https://localhost:8080
  • click the "start test" link

GitHub

https://github.com/thombergs/github-tester
You might also like...

A simple app to test your device input sample rate.

A simple app to test your device input sample rate.

Android touch sample rate test tool This tool can help you check the touch sample rate of the Android device. Supported input method: Touch Mouse Styl

Feb 25, 2022

Android-Multi-Module-Coverage - Demo project to showcase how to get a single test coverage report in a multi-module Android project

Android Multi-Module Coverage This is a demo project to showcase how to create a

May 28, 2022

GitHub client for Android based on the abandoned official app

GitHub client for Android based on the abandoned official app

ForkHub ForkHub started off as a fork of the official Android app from GitHub, and has since seen lots of improvements. You can see a comprehensive li

Jun 8, 2022

Shows how to build a VPN app for Android using leaf: https://github.com/eycorsican/leaf .

aleaf Shows how to build a VPN app for Android using leaf. Dependencies Rust GCC/clang Make SDK NDK LLVM (Windows host only, see below) Building Linux

Sep 3, 2021

Kurly-assignment - Search GitHub Repository App For Android

Kurly-assignment - Search GitHub Repository App For Android

Search GitHub Repository App Outline Github 내의 수많은 리포지토리를 키워드를 통해 검색할 수 있습니다. Ho

Jan 5, 2022

Github Repo Search Android App

Github Repo Search Android App

Github Repo Search Android App Modular android app for searching trending Github repositories and the details of each repository.

Mar 7, 2022

Android Chinese TTS Engine Base On Tensorflow TTS , use for TfLite Models Test。安卓离线中文TTS引擎,在TensorflowTTS基础上开发,用于TfLite模型测试。

Android Chinese TTS Engine Base On Tensorflow TTS , use for TfLite Models Test。安卓离线中文TTS引擎,在TensorflowTTS基础上开发,用于TfLite模型测试。

Chinese TTS TF Lite 介绍 使用Kotlin + JetPack Compose + Tensorflow Lite开发的TTS引擎,可以完全离线使用。 可选两种模型:FastSpeech和Tacotron,这两种模型均来自TensorFlowTTS 文字转拼音方法来自:Tenso

Jun 19, 2022

Test android startup time fluctsdk

Test android startup time fluctsdk

Feb 4, 2022

An efficient GitHub profile app, written in Kotlin!

An efficient GitHub profile app, written in Kotlin!

GitPositive An efficient GitHub profile app, written in Kotlin! GitPositive aims to be a simple and efficient GitHub profile app, following the princi

May 23, 2022
Related tags
Github-Api-Pagination-Example - Pagination 3 Example using Github Api

Github-Api-Pagination Pagination 3 Example using Github Api Tech Stack 100% Kotl

Jan 10, 2022
GithubUsersGalleryApp - Github users app consumed Github API

GithubUsersApp ✨ Github users app consumed Github API ✨ Architecture Using Moder

Feb 20, 2022
Clean Architecture Kotlin Multiplatform Mobile (KMM) with Android Instrument Test and Unit Test
Clean Architecture Kotlin Multiplatform Mobile (KMM) with Android Instrument Test and Unit Test

The-Movies: Clean Architecture Kotlin Multiplatform Mobile What're inside? - Jetpack Compose - Hilt - Ktor - Android Instrument Test - Unit Test - SQL

Jun 19, 2022
GitHub application fetches events, repositories and profile using GitHub APIs
GitHub application fetches events, repositories and profile using GitHub APIs

GitHub application using GitHub REST API Dagger MVVM architecture Mockk Jetpack Compose Kotlin Coroutines Application pages Attention If you want to u

Mar 13, 2022
Test app to retrieve the spaceX Info based on the Rest API
Test app to retrieve the spaceX Info based on the Rest API

DeepamSpaceX Test app to retrieve the spaceX Info based on the Rest API. S.O.L.I.D Design principle MVVM Pattern Retrofit with Coroutines Clean code a

Oct 24, 2021
📺 A sample app to showcase Twyper with GitHub repo search API
📺 A sample app to showcase Twyper with GitHub repo search API

swipe-search A sample app to showcase Twyper with GitHub repo search API ?? Demo Screen.Recording.2022-02-20.at.9.36.10.PM.mov ?? Tech Stack What How

Mar 18, 2022
Water tracker app helps you with daily reminder to drink water. This app is just a trial to test and improve my android development skills.
Water tracker app helps you with daily reminder to drink water. This app is just a trial to test and improve my android development skills.

?? About Me I am a self-thaught developer learning web and android development. This app is just a trial to test and improve my android development sk

Jun 1, 2022
Implementation of the application using the latest Android Tech Stack and the GitHub REST API.
Implementation of the application using the latest Android Tech Stack and the GitHub REST API.

GitHub Viewer Implementation of the application using the latest Android Tech Stack and the GitHub REST API. <!-- Github login. You can change the use

Jun 12, 2022
App de test para ingreso a Mercado Libre
App de test para ingreso a Mercado Libre

Proyecto Mercado Libre Proyecto de prueba para ingreso en Mercado Libre Tabla de contenidos Acerca del projecto Construido con Primeros pasos Pre-requ

Oct 27, 2021
A Test App Featuring MVVM,Hilt,Navigation Component,Retrofit

CodingTest A Test App Featuring MVVM,Hilt,Navigation Component,Retrofit #Project Summary This application loads the last 10 commits from the github's

Feb 11, 2022