У меня есть приложение, которое предоставляет аутентифицированным пользователям возможность просмотра данных о различных объектах в базе данных. В нашей экосистеме есть еще одно приложение, которое предоставляет разные представления для одних и тех же объектов, используя свою собственную модель разрешений. Мы доверяем этой модели разрешений других приложений и хотели бы позволить им выдавать токены доступа пользователям, которые не прошли аутентификацию обычным методом нашего приложения, поэтому эти пользователи могут просматривать только определенные c объекты, которые другое приложение проверило, что они иметь доступ к.
Вместо того, чтобы придумывать нашу собственную спецификацию c для связи между этими двумя приложениями, мне было интересно, есть ли уже стандартный подход, доступный через что-то вроде OpenID Connect. OID C, кажется, обрабатывает большинство мрачных деталей, которые мы должны были бы рассмотреть в подобном случае, но один аспект, в котором он, кажется, не подходит, состоит в том, что его токены доступа кажутся универсальными, а не вызывая указанный c объект, к которому у пользователя есть доступ. В нем говорится «Вот пользователь, который может получить доступ к вашему приложению», но не «Вот пользователь, который может получить доступ к элементу 123».
Существует ли стандарт для использования токена доступа для предоставления доступа к указанному c пункт, желательно с использованием OAuth 2 и / или OpenID Connect? Правильно ли я считаю, что использование идентификатора элемента в качестве scope
на маркере доступа было бы нецелесообразным использованием областей OAuth?