1

对于用 C++ 编写的特定客户端/服务器游戏,我想开发一个“登录服务器”,以便游戏服务器可以单独跟踪玩家。但是,我反对重新发明轮子,虽然我有非传统的要求,但我想知道我正在寻找的东西是否已经建立了实现。

我想要的是像 OpenID 这样没有权威登录服务器的东西。我希望可能有许多登录服务器,并且所有游戏服务器都可以肯定的是,使用具有特定用户名的特定登录服务器的人与上次使用具有该用户名的登录服务器的人相同。

好吧,既然我提到了它的名字,为什么不使用 OpenID 呢?它太以网络为中心。我不想在我的游戏或启动器中放置浏览器,以便人们在想要在特定游戏服务器上玩游戏时将其凭据传递给登录服务器。事实上,与协议无关的系统将是首选,因此登录服务器、游戏客户端和游戏服务器都可以使用游戏客户端和服务器已有的相同 UDP 基础设施进行通信。

在这方面的一些指导将不胜感激。我真的不想自己设计整个系统,因为身份验证和安全性是棘手的问题。

4

1 回答 1

0

OpenID 将您的用户绑定到特定的服务器。例如,如果用户来自http://openid.net/theusername您可以存储此信息,但从此时起,用户只需要使用相同的身份验证服务器,如果服务器关闭,则如何将帐户迁移到另一个身份是一个困难的场景(另一个提供商)。

另一方面,如果您依赖 Oauth2 身份验证并将电子邮件作为您的主要识别身份,则用户可以通过您设置的十几个不同的提供商(Google、Facebook、Twitter、Linkedin)进行身份验证,并且您可以信任电子邮件已经过验证的提供商在身份验证之前(这是身份提供者的工作方式)。

然后我强烈推荐OAuth2。你仍然没有强加任何特定的提供者,让你的用户选择他们最喜欢的,但同时你有相当可靠的信息,电子邮件,它可以用作通信渠道,将任何信息从你的应用程序发送给你的用户.

于 2013-06-22T20:09:49.677 回答