Если вас интересуют все подробности, вы можете проверить спецификацию здесь .
Хотя на высоком уровне это довольно просто (перефразируя здесь обзор спецификации 2.0 ):
Сайт перенаправляет пользователя к провайдеру OpenID вместе с запросом авторизации
Поставщик OpenID пытается аутентифицировать пользователя
Поставщик OpenID перенаправляет пользователя на сайт вместе с информацией о том, прошла ли аутентификация неудачно или успешно.
Затем сайт проверяет эту информацию, проверяет некоторые поля, которые он получил из ответа, а также делает прямой запрос (который не проходит через браузер пользователя) поставщику OpenID; все это для предотвращения подмены и тому подобного
Так что шаги один и два довольно просты, но последние два имеют некоторую сложность. В частности, ответ на шаге 3 содержит поле «nonce», которое будет уникальным для запроса, и несколько полей, которые сайт затем будет проверять. Эта проверка происходит на четвертом шаге, где делается несколько проверок. В частности, обратный URL и подписи.
Конечно, под капотом происходит гораздо больше, но если вам нужна именно эта информация, лучше всего искать эту спецификацию.