Security 客户端/服务器游戏的OpenID式身份验证? 对于C++编写的特定客户机/服务器游戏,我想开发一个“登录服务器”,这样玩家可以通过游戏服务器单独跟踪。然而,我反对重新发明轮子,尽管我有非正统的需求,但我想知道我所寻找的是否已经实现

Security 客户端/服务器游戏的OpenID式身份验证? 对于C++编写的特定客户机/服务器游戏,我想开发一个“登录服务器”,这样玩家可以通过游戏服务器单独跟踪。然而,我反对重新发明轮子,尽管我有非正统的需求,但我想知道我所寻找的是否已经实现,security,authentication,Security,Authentication,我想要的是类似OpenID的东西,其中没有权威的登录服务器。我希望可能会有很多登录服务器,而游戏服务器可以肯定的是,使用特定用户名的特定登录服务器的人与上次使用该用户名的登录服务器的人是相同的 既然我提到了OpenID的名字,为什么不使用它呢?它太以网络为中心了。我不想在我的游戏或启动器中放置浏览器,以便人们在想要在特定游戏服务器上玩游戏时将其凭据传递到登录服务器。事实上,最好使用对协议不可知的系统,这样登录服务器、游戏客户端和游戏服务器都可以使用游戏客户端和服务器已经具备的相同UDP基础设施进

我想要的是类似OpenID的东西,其中没有权威的登录服务器。我希望可能会有很多登录服务器,而游戏服务器可以肯定的是,使用特定用户名的特定登录服务器的人与上次使用该用户名的登录服务器的人是相同的

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


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

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

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


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

OAuth2似乎仍处于起草阶段,而且它似乎也将传输安全留给了实现……在UDP之上实现可能很困难和/或容易出错。它可能在草稿中,不会阻止每个人实现它。是的,安全性取决于tcp/ssl。