2011-07-21 6 views
10

Stworzyłem prosty serwer akceptujący żądania TCP i HTTP i parsujący je w C++. Teraz chcę utworzyć system logowania OpenID, który będzie obsługiwał otwarty identyfikator Google. Używam boost i Curl na moim serwerze. Obecnie nie mam ssh na moim serwerze, z wyjątkiem curl może tworzyć żądania ssh.Jakie czynności powinien wykonać prosty serwer http C++, aby umożliwić logowanie użytkownika przez uwierzytelnianie OpenID?

Więc co mam:

  • html get/postów żądania parsowania do map map<string, string>
  • curl ze wsparciem ssh
  • plik funkcjonalność serwera powrocie (ze zmodyfikowanymi argumentów odpowiedzi)

Co jeszcze należy wprowadzić, aby wesprzeć możliwość logowania google google? (Potrzebuję tylko podstawowego, unikalnego identyfikatora od użytkownika - nie jego \ jej imienia ani żadnych innych szczegółów)

Jakie będą moje kroki w celu uzyskania unikalnego identyfikatora użytkownika na serwerze, który otrzymał żądanie z czymś takim, jak openIdLogin: https://www.google.com/accounts/o8/id w tym ?

muszę kilka prostych, czytelnych instrukcji jak kiedyś udostępnianej przez Google dla reCAPTCHA Verifying the User's Answer Without Plugins - gdzie użytkownik zostaje przekierowany, co powinno być w Request, Response itd. (Nie czysty Specs)

+0

i nie mogę użyj [libopkele] (http://kin.klever.net/libopkele/requirements). – Rella

+2

System nie jest dokładnie banalny. Specyfikacje: http://openid.net/developers/specs/ – Eelke

+0

Nawet jeśli nie możesz korzystać z libopkele, prawdopodobnie możesz wyszukać kod? :) –

Odpowiedz

4

Co brzmi jak szukasz jest to Google Federated Login. Zasadniczo jest to wysyłanie żądań adresu URL do serwerów Google i dostarczanie URL-a wywołania zwrotnego, do którego użytkownik ma powrócić po zalogowaniu się na serwerach Google.

W dolnej części strony znajdują się przykładowe żądania i odpowiedzi, które powinny pomóc w rozpoczęciu pracy.

Powiązane problemy