首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过Steam进行OpenID身份验证

通过Steam进行OpenID身份验证
EN

Stack Overflow用户
提问于 2018-12-01 23:07:34
回答 1查看 1.7K关注 0票数 2

我花了大半天的时间试图弄清楚OpenID是如何工作的。我的目标是建立一个简单的网站,在这里,点击一个登录按钮,用户被带到一个蒸汽登录页面,在那里他们被提示输入用户名和密码。成功登录后,用户被重定向到我的域上的一个页面,我在那里收集查询字符串参数。它们看起来像这样:

代码语言:javascript
运行
复制
{  
    "openid.ns": "http://specs.openid.net/auth/2.0",
    "openid.mode": "id_res",
    "openid.op_endpoint": "https://steamcommunity.com/openid/login",
    "openid.claimed_id": "https://steamcommunity.com/openid/id/7656119[0000000000]",
    "openid.identity": "https://steamcommunity.com/openid/id/7656119[0000000000]",
    "openid.return_to": "http://127.0.0.1:8000/resolve",
    "openid.response_nonce": "2018-12-01T14:49:46Z30hhn2/[someTEXTendingIN=]",
    "openid.assoc_handle": "1234567890",
    "openid.signed": "signed,op_endpoint,claimed_id,identity,return_to,response_nonce,assoc_handle",
    "openid.sig": "[someTEXTandNUMBERSendingIN=]"
}

然而,我无法解决的是实际的身份验证问题。我不知道如何处理这些数据。我想有我自己的数据库,我在其中存储更多关于用户的信息,如朋友,消息,货币等。为此,非常重要的是,我可以验证某人没有只是接受这个请求正文,更改他们的ID为另一个,并以这种方式访问他们的帐户。

我很确定these是相关的文档,但我仍然不清楚。我该如何用这些数据来验证用户呢?

我在这篇文章中省略了一些价值观,我担心分享起来会很糟糕。这些占位符已用括号[]标出。而且,那个assoc_handle实际上是1234567890,这让我有点反感,因为根据OpenID文档,它用于确定签名。

需要明确的是:这个收集凭证的页面不是由我运行的,而是Steam的官方OpenID登录页面。Steam是一个游戏平台。https://steamcommunity.com/dev/以供参考。

EN

Stack Overflow用户

发布于 2018-12-01 23:17:11

对于nodejs中的Steam身份验证,可以使用Passport。

Passport是一个身份验证库,最适合基于Express的web应用程序。

有一个steam策略可以处理您的steam身份验证。

检查passport here

这是Steam strategy的存储库。这里有一个示例文件夹,您可以在其中查看如何设置Steam身份验证。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53572113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档