网页服务认证API

用户体验

这个API的目的是为了让Kongregate玩家不注册或输入密码就可进行多人游戏。通过调用网络服务,您可以安全地判断玩家的Kongregate用户账号和用户名。当用户是第一次玩你的游戏,你通常需要为他们在你的用户数据库建立一个帐户。在大多数情况下,你可以简单地悄悄地这样做(就像大部分Facebook的游戏一样) - 只需在您的数据库创建一个用户,以kongregate用户账号和用户名为一列。如果有用户名的话,用户名应与Kongregate用户账号名相同。在今后的访问中您将使用Kongregate用户账号来检索你db的帐户,并记录它们。

If如果一个玩家没有注册Kongregate,您会想要显示一条友好的信息,说诸如“这个多人游戏需要一个Kongregate帐户”和一个“登录或注册”按钮,通过调用我们的注册亮框即可出现:

kongregate.services.showSignInBox();

如果你有一个大的现有用户数据库,您可能需要允许玩家在你的数据库连接他们的Kongregate帐户到你数据库里的一个现有帐户。由于大多数用户不需要这样做,你通常应该只是做一个小的链接,写上“使用你现有的 AwesomeGame.com 帐户”,并且不显示用户名和密码字段,直到他们点击那个链接 - 否则,你可能会搞不清用户并降低你的转换率。一旦玩家链接到他们的帐户,您应该自动记录他们在今后的访问。

认证令牌

认证通过一个特定的密钥来完成,为每个游戏防止潜在的恶意游戏作者盗窃证书和把它们用到其他游戏上。密钥被称为game_auth_token,是由客户端API提供 - 细节在这里

认证网络服务

这HTTP端点允许您验证一个用户。

GET url: http://www.kongregate.com/api/authenticate.json
需要参数:
user_id:给用户的Kongregate用户id
game_auth_token:游戏/用户连接
api_key:你游戏的api密钥


回应:
success:true/false取决于请求是否成功
user_id:用户的id
username:用户的用户名
error:错误代码整数,如果有的话
error_description:错误代码描述字符串,如果有的话

例如:成功的认证

GET http://www.kongregate.com/api/authenticate.json?user_id=765&game_auth_token=AuthToken&api_key=MyApiKey
{success:true, username:"BenV", user_id:765}

例如:由于证书无效认证失败

当3个所需的参数不正确时此错误将发生。 如果他们已经修改了他们的密码,这可能表示用户需要重新加载它们的游戏。

GET http://www.kongregate.com/api/authenticate.json?user_id=765&game_auth_token=BadToken&api_key=MyApiKey
{success:false, error:403, error_description:"Invalid credentials"}

例如:由于缺少必要的参数导致不正确的请求

当任意3个所需的参数缺少时此错误将会发生。

GET http://www.kongregate.com/api/authenticate.json?user_id=756
{success:false, error:400, error_description:"user_id, game_auth_token, and api_key are required parameters"}

Edit | Translate | Destroy