Skip to content

kirkaDev/GithubSearcher

Repository files navigation

GithubSearcher

Это приложение наделено следующим функционалом:

  • Поиск пользователей GitHub.com;
  • Вывод информации о найденных пользователях (их подписчиках, репозиториях);
  • Аутентификация способом OAuth2.0 на GitHub.com с использованием сервиса Firebase Authentication и вывод базовой информации о залогиненном пользователе.

На момент составления описания, после клонирования репозитория проект должен собираться и работать, все необходимые для этого файлы внесены под контроль git (включая файл google-services.json, необходимый для работы Firebase Authentication и токен GitHub для отправки HTTP-запросов).

Используемые HTTP-запросы:

Документация к API расположена по адресу: https://docs.github.com/en/rest

Запрос отправляется с заголовком Authorization (используется персональный personal access token разработчика), это позволяет отправлять 5000 запросов в час (без авторизации действует ограничение 60 запросов в час) Basic authorization с использованием пары логин-пароль больше не используется (c 13.11.2020г.)

Авторизации с использованием собственных токенов авторизации.

Для того, чтобы не зависеть от изначально использованных токенов и зарегистрированных OAuth2-приложений в учетной записи разработчика, необходимо выполнить следующее.

  • Для Basic-авторизации создать свой personal access token в настройках аккаунта GitHub и передать его в константу DEVELOPER_PERSONAL_TOKEN в закодированном виде (Base64)
  • Для выполнения OAuth-авторизации:
  1. Создать в настройках профиля GitHub новый Authorized OAuth App, получить Client ID, Client secret.
  2. Создать проект в консоли разработчика Firebase (https://console.firebase.google.com/)
  3. Изменить applicationId в Android Manifest, Gradle (т.к. Firebase не позволит создать еще один проект с уже существующим appId)
  4. Скачать и заменить существующий файл google-services.json вновь сгенерированным.
  5. Подключить сервис Authentication в консоли Firebase, выбрать вариант провайдера авторизации "GitHub"
  6. Ввести полученные на GitHub значения Client ID, Client secret.

About

Get info from the GitHub using API

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages