OpenID authentication in C++ multiplayer network game
Asked Answered
O

1

7

I am planning is an OpenID client in a multiplayer network C++ game. The hoster will have the option to allow only logins from people who can authenticate via OpenID. Also I want to make it possible to allow only certain people to login.

We already have some simple HTML viewer in our code (and we plan to migrate to WebKit), so displaying HTML (for the OpenID endpoint login) is not really a problem.

We also have code for HTTP requests (we have already migrated to libcurl here).

I haven't found any C++ code for doing the rest (the actual OpenID endpoint handshake). Is there any C++ code for this?

If not, where is a good point to start? I don't really have much ideas about the OpenID internals. Is it complicated to code that myself?

Is it possible at all like this? I think I have seen that I must put some authentication site URL or so to the OpenID endpoint where it will return to if the login is successful. In this case, there is no site where you login via OpenID, it is a gameserver.

If that is really a problem to do it this way, we also have our own webserver (one for our forum and we have the SourceForge one), so we could also do all the stuff there. However, this has the huge drawback that the game depends on some website for the OpenID login, which is very bad -- one of the nice advantages of OpenID is gone.

Oquendo answered 14/7, 2010 at 18:11 Comment(2)
I think OpenID is mainly used for web site authentication; if I remember the framework correctly, the user's browser must be directed back to the provider's website in order to confirm the authentication request.Kier
As far as i recall the result is redirection with the authentication result. If an embedded browser is used, the redirection (or navigation event) can be catched on the client side.Albertoalberts
H
2

Does libopkele help you?

There is a question about a configuration error with it here.

Halette answered 15/7, 2010 at 3:14 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.