Какие шаги должен выполнить простой сервер http С++, чтобы позволить пользователю войти в систему через проверку подлинности OpenID?

Я создал простой сервер, который принимает запросы tcp и http и анализирует их на С++. Теперь я хочу создать систему входа openID, которая будет поддерживать открытый идентификатор Google. Я использую boost и Curl на своем сервере. В настоящее время у меня нет ssh на моем сервере, за исключением того, что curl может делать запросы ssh.

Итак, что у меня есть:

  • html get/posts запросы разбора на карты map<string, string>
  • завиток с поддержкой ssh ​​
  • возвращающий сервер сервер функции (с измененными аргументами ответа)

Что еще я должен реализовать для поддержки возможности входа в Google OpenID? (Мне нужен только базовый уникальный идентификатор от пользователя - не его\ее имя или какие-либо другие детали)

Какими должны быть мои шаги, чтобы получить уникальный идентификатор пользователя на сервере, который получил запрос с чем-то вроде openIdLogin: https://www.google.com/accounts/o8/id в нем?

Мне нужны некоторые простые, читаемые инструкции, например, однажды предоставленные google для reCAPTCHA Проверка ответа пользователя без плагинов - где пользователь должен быть перенаправлен, что должны быть в запросе, ответе и т.д. (не чисто Specs)

Ответ 2

Похоже, что вы ищете Google Федеративный вход. В основном это означает отправку некоторых запросов URL-адресов на серверы Google и предоставление URL-адреса обратного вызова, куда вы хотите, чтобы пользователь вернулся после входа в систему на серверах Google.

В нижней части страницы есть несколько примеров запросов и ответов, которые помогут вам начать работу.