Когда OAuth app хочет определить вас по вашей учетной записи на GitHub, вы увидите страницу с контактными данными разработчика приложения и списком запрошенных данных.
Tip
Перед авторизацией OAuth appнеобходимо проверить адрес электронной почты.
Доступ к OAuth app
OAuth apps могут иметь доступ на чтение или запись к данным GitHub.
- Доступ на чтение позволяет приложению только просматривать данные.
- Доступ на запись позволяет приложению изменять данные.
Tip
Рекомендуется регулярно просматривать авторизованные интеграции. Удалите все приложения и маркеры, которые не использовались в течение некоторого времени. Дополнительные сведения см. в разделе Просмотр авторизованных приложений OAuth.
Сведения об областях OAuth
Области — это именованные группы разрешений, которые OAuth app может запрашивать для доступа к открытым и закрытым данным.
Если необходимо использовать OAuth app в интеграции с GitHub, это приложение сообщит требуемый тип доступа к данным. Если вы предоставляете доступ к приложению, приложение сможет выполнять действия от вашего имени, например чтение или изменение данных. Например, если вы хотите использовать приложение, которое запрашивает область действия user:email
, приложение будет иметь доступ к частным адресам электронной почты только для чтения. Дополнительные сведения см. в разделе Области для приложений OAuth.
Note
В настоящее время невозможно ограничить доступ к исходному коду только для чтения.
Маркер имеет те же возможности для доступа к ресурсам и выполнения действий с этими ресурсами, которые владелец маркера имеет, и дополнительно ограничивается любыми областями или разрешениями, предоставленными маркеру. Маркер не может предоставить пользователю дополнительные возможности доступа. Например, приложение может создать маркер доступа, настроенный с admin:org
помощью области, но если пользователь приложения не является владелец организации, приложение не будет предоставлять административный доступ к организации.
Существует ограничение в десять маркеров, выданных для каждого пользователя или приложения/область комбинации, и ограничение скорости в десять маркеров, созданных в час. Если приложение создает более десяти маркеров для одного пользователя и одного и того же область, старые маркеры с одним и тем же пользователем или приложением/область комбинацией отзываются. Однако при нажатии почасового ограничения скорости не отозван старый токен. Вместо этого он активирует запрос повторной авторизации в браузере, запрашивая у пользователя двойное проверка разрешения, которые они предоставляют приложению. Этот запрос предназначен для того, чтобы дать перерыв любому потенциальному бесконечному циклу приложения зависает, так как не существует никаких причин для приложения запрашивать десять токенов от пользователя в течение часа.
Типы запрашиваемых данных
OAuth apps могут запрашивать несколько типов данных.
Тип данных | Description |
---|---|
Состояние фиксации | Вы можете предоставить приложению доступ к сведениям о состоянии фиксации. Доступ к состоянию фиксации позволяет приложениям определять, была ли сборка для определенной фиксации выполнена успешно. У приложений не будет доступа к коду, но они смогут считывать сведения о состоянии определенной фиксации и записывать их. |
Развертывания | Доступ к состоянию развертывания позволяет приложениям определять, было ли развертывание для определенной фиксации в общедоступном или частном репозитории выполнено успешно. У приложений не будет доступа к коду. |
Gist | Доступ к gist позволяет приложениям осуществлять как чтение из общедоступных и секретных gist, так и запись в них. |
Обработчики | Доступ к веб-перехватчикам позволяет приложениям считывать конфигурации перехватчиков в управляемых вами репозиториях и записывать их. |
Notifications | Доступ к уведомлениям позволяет приложениям считывать уведомления GitHub, например комментарии к проблемам и запросам на вытягивание. Однако приложения по-прежнему не имеют доступа к содержимому репозиториев. |
Организации и группы | Доступ к организации и командам позволяет приложениям получать доступ к организации и командам и управлять членством в них. |
Личные данные пользователя | Данные пользователя включают в себя сведения в профиле пользователя, такие как имя, адрес электронной почты и местонахождение. |
Репозитории | Сведения о репозитории включают в себя имена участников, созданные ветви и существующие файлы в репозитории. Приложения могут запрашивать доступ к общедоступным или частным репозиториям на уровне пользователя. |
Удаление репозитория | Приложения могут запрашивать удаление управляемых вами репозиториев, но у них нет доступа к коду. |
Проекты | Здесь доступны проекты пользователя и организации. Приложения могут запрашивать доступ на чтение/запись или только на чтение. |
Запрос обновленных разрешений
Когда OAuth apps запрашивают новые права доступа, они уведомляют вас о различиях между текущими и новыми разрешениями.
OAuth apps и организации
При авторизации OAuth app для личной учетной записи можно увидеть, как авторизация повлияет на каждую организацию, в которую вы входите.
-
Для организаций с ограничениями доступа OAuth app можно запросить, чтобы владелец организации утвердить приложение для использования в этой организации. Если организация не утвердит приложение, оно сможет получить доступ только к общедоступным ресурсам организации. Если вы являетесь владелец организации, вы можете утвердить приложение самостоятельно.
-
Для организаций без ограничений доступа OAuth app приложение автоматически авторизуется для доступа к ресурсам организации. Поэтому следует внимательно следить за тем, какие OAuth apps утверждаются для доступа к ресурсам личных учетных записей, а также к любым ресурсам организации.
Если вы принадлежите любым организациям с поддержкой единого входа SAML, и вы создали связанное удостоверение для этой организации путем аутентификации через SAML в прошлом, необходимо иметь активный сеанс SAML для каждой организации при каждом авторизации OAuth app.
Note
Если возникают проблемы с авторизованным OAuth app или GitHub App с доступом к организации, защищенной SAML, может потребоваться отозвать приложение из авторизованного GitHub Apps или авторизованного OAuth apps страница, посетите организацию, чтобы пройти проверку подлинности и установить активный сеанс SAML, а затем попытаться повторно выполнить проверку подлинности приложения путем доступа к нему.