Действительно, как это часто бывает с вопросами о дизайне, это зависит.
Необходимо помнить, что OIDC и связанный с ним id_token
предназначены для аутентификации. Обычно ответ /userinfo
на утверждения о том, кто пользователь. Частью личности пользователя может быть их роль.
OAuth и связанные с ним access_token
, с другой стороны, предназначены для авторизации. Маркер доступа обычно заявляет утверждения о том, что клиент имеет право делать. То, что может сделать клиент, может отличаться от роли пользователя.
Подумайте, какие решения нужно будет принять этому клиенту. Может быть, он сможет выбирать, какие страницы он может показывать, основываясь на ролях, которые он вывел из ответа /userinfo
.
Подумайте, с чем этот клиент будет общаться. Может быть, он будет общаться с сервером ресурсов. Если клиент передает access_token
, полученный во время входа в систему, то этот токен должен указывать, что клиент имеет право делать.