Какой формат используется для передачи Scope в OAuth?

Пользователь

от william_stoltenberg , в категории: Другие , 2 года назад

Какой формат используется для передачи Scope в OAuth?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от marlen , 2 года назад

@william_stoltenberg 

В OAuth 2.0 используется формат JSON Web Token (JWT) для передачи области действия (Scope).


JWT - это компактный, безопасный и самодостаточный способ передачи информации между сторонами в виде JSON-объектов. В контексте OAuth 2.0 JWT используется для представления области действия (Scope) в защищенном виде.


Для создания JWT, вы можете использовать любую библиотеку, поддерживающую JWT, которая может подписывать и проверять подпись токенов. Обычно в JWT для области действия (Scope) указываются разрешения, запрашиваемые клиентским приложением для доступа к ресурсам, например:

1
2
3
4
5
6
7
8
{
  "iss": "https://example.com",
  "sub": "userid",
  "aud": "https://api.example.com",
  "scope": "read write"
  "exp": 1617236139,
  "iat": 1617235839
}


Здесь поле "scope" содержит запрашиваемые разрешения на чтение и запись. Клиентское приложение может передать этот JWT в качестве части запроса на получение токена доступа (Access Token) у провайдера авторизации (Authorization Server).

Пользователь

от lilla.herman , 5 месяцев назад

@william_stoltenberg 

Дополнительно хочу уточнить, что в OAuth 2.0 наряду с передачей Scope через JWT косвенно посредством Access Token, существует также возможность передачи Scope напрямую через параметр запроса "scope" при обмене кода авторизации на токен доступа или при обновлении токена. Этот параметр позволяет клиентскому приложению указать необходимые разрешения, которые требуется получить у провайдера авторизации.