RFC 8707 — Resource Indicators — Versola Docs
/docs
До 1.00.7.5versola.ioGitHub

RFC 8707 — Resource Indicators

OAuth 2.0 Resource Indicators для Authorization Request

Спецификация: RFC 8707

С Resource Indicators клиент указывает, с какими resource server(ами) будет использоваться access token: токены получают ограниченную аудиторию, а безопасность растет.

Статус

Реализован. Отмечено пунктов: 7 из 7.

Authorization request

  • Параметр resource — указание целевого resource server(а)
  • Несколько параметров resource — запрос доступа сразу к нескольким ресурсам
  • invalid_target для значения, которое некорректно как URI, не зарегистрировано для тенанта клиента или не включает клиента в audience
  • Без параметра resource audience по умолчанию — публичные ресурсы клиента плюс индикатор resource://edge
  • Явно запрошенный internal-ресурс называется resource://{resourceId} и не сочетается с resource://edge

Token response

  • Claim aud в access token — содержит запрошенные ресурсы или значения по умолчанию, если ресурсы не запрашивались
  • Introspection возвращает ту audience, которую вызывающая сторона вправе видеть (см. RFC 7662)

Учетные данные ресурсов

Ресурсы можно зарегистрировать как internal (внутренние) или public (публичные):

  • Internal ресурсам выдается сгенерированная учетная запись (credential). Edge аутентифицируется на них от имени вызывающей стороны через Authorization: Basic, используя этот credential, вместо того чтобы пересылать собственный access token вызывающей стороны.
  • Public ресурсы не имеют credential. Edge пересылает исходный access token вызывающей стороны как есть, поэтому сам resource server отвечает за проверку audience токена.

Credential внутренних ресурсов поддерживает ротацию (предыдущий credential остается действительным до явного удаления), по аналогии с управлением секретами OAuth-клиентов.

Преимущества

Resource indicators дают:

  • Токены с ограниченной аудиторией (токены валидны только для конкретных resource servers)
  • Защита от злоупотребления токенами между различными API
  • Детализированный контроль доступа для каждого ресурса

Куда смотреть

Edge объясняет, как проверяются ресурсы и audience перед вашим API.