Цель или назначение OIDC - не быть более безопасным, чем OAuth2, и такое сравнение не имеет смысла. Они решают разные проблемы.
Давайте начнем с OAuth2. В очень коротком и несколько упрощенном виде OAuth2 решает проблему, когда веб-сайт содержит данные пользователя, и этот пользователь хочет предоставить доступ к некоторым своим данным другому веб-сайту. Допустим, у вас есть учетная запись Facebook, но вы хотите разрешить моему приложению доступ к некоторым вашим данным на Facebook, или, для более конкретного примера, вы хотите, чтобы мое приложение awesomeapp.com разместило ссылку на вашу стену Facebook. Для этого мой веб-сайт перенаправляет вас на Facebook, вы входите в систему, получаете токен доступа и отправляете этот токен доступа обратно на мой сайт, чтобы я мог использовать его от вашего имени, чтобы получить то, что вы разрешили мне.
Обратите внимание, что отсутствует одна вещь. Я понятия не имею, кто ты. У меня только что был токен доступа, с помощью которого я могу что-то делать, но у меня нет идентичности информации о вас. Конечно, этим можно злоупотреблять по-разному, токен доступа может содержать ваш адрес электронной почты или что-то еще, но он ограничен, размер имеет значение, и стандартного способа не существует.
По крайней мере, пока OIDC не появится на картинке. OIDC предоставляет элемент идентификации.
Цель идентификационного токена - предоставить идентификационную информацию, чтобы сообщить мне претензий о том, кто вы есть. Он может указывать ваш адрес электронной почты, в каких группах безопасности вы находитесь, в какой компании вы работаете или что-то еще. Также его можно использовать для загрузки дополнительных заявок, если они не вписываются в фактический токен (см. userinfo ). Эти претензии исходят от провайдера идентификации, скажем, Facebook, которому мое приложение, конечно, должно доверять, то есть я буду верить всему, что Facebook говорит мне о вас.
Это все возможно с чистым OAuth2, но не существует стандартного, хорошо известного способа сделать это (или хорошо, это OIDC :)). Вы можете изобретать и реализовывать что-то самостоятельно, но эти вещи сложнее, чем может показаться на первый взгляд. Вот почему OIDC был изобретен, так что вам не нужно. Но в конце концов, OIDC - это просто способ использовать OAuth2 для идентификации. В конце концов, это просто расширенный OAuth2, если хотите.
Что касается соображений безопасности, которые вам необходимо принять во внимание - эта часть вашего вопроса слишком широка, и, к сожалению, на нее нельзя ответить. Безопасность - очень сложная тема.