Я использую mod_auth_openidc для API, который не имеет ни аутентификации, ни авторизации. Та же конечная точка также обслуживает пользовательский интерфейс, поэтому она выполняет интерактивные и межсерверные запросы. Это то, что модуль имеет AuthType auth-openidc
для. Таким образом, модуль выступает в качестве сервера ресурсов в OAuth2.
При настройке этого я понял, что принимаю токены доступа с предоставлением пароля, поэтому всем моим пользователям назначены роли, и мы не используем области на идентификаторах клиента. Поэтому, естественно, я хочу ограничить доступ к конечной точке с помощью такой роли:
<Location />
AuthType auth-openidc
OIDCOAuthIntrospectionEndpoint https://localhost/oauth2/introspect
OIDCOAuthRemoteUserClaim sub
OIDCOAuthClientID 1111
OIDCOAuthClientSecret 2222
Require claim roles:MYAPI_ACCESS
</Location>
Конечной точкой проверки является стандартное RFC 7662 совместимое окно, а конфигурация в основном учебник пример .
Мой поворот - Require
authz. При использовании удаленной проверки OAuth2, openid-connect не ищет информацию о пользователе для удаленного пользователя, он просто копирует все атрибуты, которые он получает от конечной точки /introspect
, и пытается сопоставить Требование с ним.
Мой вопрос : как я могу сделать openid-connect lookup соответствующую информацию о пользователе (через вызов существующей конечной точки /userinfo
), когда у нее есть удаленный пользователь?