You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现类似Epic Games的Steam账号关联以登录并使用Steam Web API?

实现Steam账号关联(绑定)功能的步骤

1. 准备Steam开发者配置

  • 注册Steam开发者账号,创建专属应用,获取Steam API Key和App ID——这是调用Steam Web API的核心凭证。
  • 在Steam开发者后台配置应用的重定向URL,该地址是用户完成Steam授权后跳转回你的服务的路径,必须和后续代码中的配置完全一致。

2. 实现Steam OpenID授权流程(绑定核心)

这是引导用户从你的平台跳转至Steam完成登录授权的关键流程:

  • 构造Steam授权跳转链接,示例格式如下:
    https://steamcommunity.com/openid/login?
    openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0
    &openid.mode=checkid_setup
    &openid.return_to=你的重定向URL
    &openid.realm=你的应用域名
    &openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select
    &openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select
    
  • 用户点击链接后进入Steam登录页,完成登录并授权你的应用访问其账号信息。
  • 授权完成后,Steam会跳转至你配置的return_to地址并携带授权参数,你需要在后端验证合法性:
    1. 将返回的所有参数拼接成验证请求,发送至https://steamcommunity.com/openid/login,同时将openid.mode设为check_authentication。
    2. 解析Steam响应,若包含is_valid:true则代表授权成功。

3. 关联Steam ID与本地账号

  • 授权成功后,从返回参数的openid.claimed_id中提取用户Steam ID(格式类似http://steamcommunity.com/openid/id/12345678901234567,末尾数字即为Steam ID)。
  • 在你的数据库中创建关联表,记录本地用户ID与对应Steam ID的绑定关系,确保一个Steam ID仅能绑定一个本地账号,反之亦然。

4. 实现Steam登录与API调用

  • 绑定完成后,用户可选择“Steam登录”:重复上述授权验证流程,获取Steam ID后查询数据库匹配本地账号,完成自动登录。
  • 调用Steam Web API时,结合你的API Key和用户Steam ID发起请求,例如获取用户游戏库的接口:
    GET https://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key=你的API Key&steamid=用户Steam ID&format=json
    
    注意遵守Steam的API调用频率限制,避免触发限流机制。

5. 解绑功能实现

  • 提供用户解绑入口:从关联表中删除对应本地用户与Steam ID的绑定记录,确保用户解绑后仍可通过本地账号正常登录。

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 19:01:14