Я хочу иметь архитектуру, состоящую из этих устройств / программ с разными ролями (все они разделены, ни одна из этих ролей не должна существовать в одном и том же экземпляре):
- КЛИЕНТ
- AUTHENTICATION-SERVER
- АВТОРИЗАЦИОН-СЕРВЕР (их может быть множество)
- РЕСУРС-СЕРВЕР (также много возможных)
И
Я не хочу использовать веб-сайты, на которые пользователь должен перейти.
Из моих исследований OAuth и Open ID Connect я бы предположил, что Клиент может получить ID_TOKEN (после авторизации) от AUTHENTICATION-SERVER и затем может запросить ACCESS_TOKENS для различных ресурсов у AUTHORIZATION-SERVER.
Полагаю, описанный мною метод допускает кражу личных данных на стороне клиента.
Я не могу найти способ легко получить id токены с сервера авторизации на клиент (который я мог бы затем использовать для аутентификации на нескольких серверах авторизации). Моим клиентам доверяют. Я хочу использовать собственные приложения и в любом случае реализовывать в них open id connect.
Я не хочу использовать какие-либо веб-сайты на данный момент и все еще должен иметь возможность защищенного общения с ассоциациями претензий к пользователям и всем остальным. OpenID Connect и его возможные потоки подходят для этого? Существуют ли другие реализации, которые позволили бы описанный мною поток (или более поздние версии OpenID Connect)?