openid php steam,Steam OpenID签名验证
这个问题我已经有一段时间了。我正在尝试通过steam按钮添加一个登录,该按钮在登录时不仅检索用户的id,还验证签名。steam使用openid 2.0。
我遵循了文件
here
. 我已经仔细地遵循了这些步骤,花了一天中的大部分时间来尝试解决这个问题。我的代码是:
let s = data['openid.signed'].split(',');
let x = Buffer.from(s.map(x => `${x}:${data['openid.' + x]}`).join('\n') + '\n', 'utf8');
let c = crypto.createHash('sha1').update(x).digest('base64');
console.log(x.toString('utf8')); // This is the key:value string
console.log(c); // This is the final result; the generated signature
其中data是来自openid提供者的响应。
登录中
x
(键:值对字符串)提供预期的输出:
signed:signed,op_endpoint,claimed_id,identity,return_to,response_nonce,assoc_handle
op_endpoint:https://steamcommunity.com/openid/login
claimed_id:https://steamcommunity.com/openid/id/765611981[1234567]
identity:https://steamcommunity.com/openid/id/765611981[1234567]
return_to:http://127.0.0.1:8000/resolve
response_nonce:2018-12-01T17:53: [some_hash]=
assoc_handle:1234567890
但是,我生成的哈希
c
与给定签名不匹配,
openid.sig
. 请注意,我使用
\n
在上面key:value对字符串的末尾,这就是我解释文档的方式。
注意事项。
我需要身份验证的原因是我想将STEAM帐户连接到我网站上的帐户,通过STEAM登录可以让您完全访问我网站上的帐户,这意味着用户不能简单地输入另一个用户id并访问他们的帐户(重播攻击)是非常重要的。因此,我需要以某种方式验证签名。
我以前从未和openid合作过,所以请原谅我的任何愚蠢的错误。我强烈建议您阅读上面链接的文档,这样您就可以验证我所做的是正确的。
谨致问候,
openid php steam,Steam OpenID签名验证相关推荐
- 计算机名称 steam,Steam电脑配置排名:前19名都是N卡
原标题:Steam电脑配置排名:前19名都是N卡 现如今的显卡市场上,NVIDIA无疑占据着绝对主动和领导地位,那么N卡到底普及到了什么程度? Steam今天更新了每月一次的硬件调查结果,虽然数据都来 ...
- linux用独显运行steam,Steam使数以千计的Windows游戏可以在Linux上轻松玩
Steam使数以千计的Windows游戏可以在Linux上轻松玩 Mark Do 2018年9月5日 暂无评论 阅读 5,183 次 众所周知,Linux游戏库只是Windows游戏库中的一小部分.这 ...
- [Unityamp;amp;Steam]Steam各种用户数据查询
Steam销售数据查看 [付费]steamspy 查看各游戏销量(总销量.各阶段销量.各地区销量.游戏时间等等): Games sales:(强力推荐) http://steamspy.com/ 小黑 ...
- 微服务openid等_使用OpenID Connect在Quarkus中保护微服务
微服务openid等 This is the fourth part in a series on building a microservice from the ground up with Qu ...
- java获取openid_JAVA获取微信小程序openid和获取公众号openid,以及通过openid获取用户信息...
https://www.cnblogs.com/lxwt/p/10154540.html?tdsourcetag=s_pcqq_aiomsg 一,首先说明下这个微信的openid 为了识别用户,每个用 ...
- html5上传steam,Steam 上的 HTML5 Javascript Game Engine
不支持简体中文 本产品尚未对您目前所在的地区语言提供支持.在购买请先行确认目前所支持的语言. 购买 HTML5 Javascript Game Engine 关于这款软件 WEB GL ENGINE ...
- 微信公众号开发:获取openId和用户信息(完整版)
注:之前总结怎么进行本地公众号开发调试,时间一长忘记开发配置却忘了,所以这里记录一下公众号开发配置,方便快速上手. 目录 开发前服务器配置 网页授权获取用户基本信息 snsapi_base snsap ...
- 微擎获取openid_微擎中使用微信之门接口,让订阅号也能直接以网页的方式获取OpenID...
开发微擎模块的时候 常会遇到一个问题: 只有服务号才能直接在网页上获取OpenID, 如果是订阅号就只能从对话消息中获取OpenID然后传到网页, 虽然微擎有个功能叫做"借用oAuth权限& ...
- 微博平台StatusNet研究(3):友好URL与OpenID支持
StatusNet研究系列 StatusNet研究(1):介绍 StatusNet研究(2):基本安装 StatusNet研究(3):友好URL与OpenID支持 StatusNet研究(4):快速安 ...
最新文章
- tomcat源码_从源码角度讲Tomcat在SpringBoot 中是如何启动的?
- String Split 和 Join
- hdu 4533(树状数组区间更新+单点查询)
- C# 日志管理框架:Common.Logging和log4net
- python分词代码_中文分词--最大正向匹配算法python实现
- MyEclipse Servers视窗出现“Could not create the view: An unexpected exception was thrown”错误解决办法...
- 创邻科技张晨:智能物联为图数据库的迅速发展提供了良好应用场景
- CentOS 安装MySQL5.7 源码方式安装
- 金山词霸2006常规窗口不见了!只能看到最大化的的原因
- Oracle数据库备份与还原
- 技术评审之技术文档的规范模板
- 手把手教你批量保存花瓣图片到同一目录的技巧
- 自动文本摘要任务背景调研
- 电信系统服务器地址,电信高速dns服务器地址谁知道?
- Hystrix熔断器
- 【项目实战——emos在线办公系统】:组件之间的相互使用、请假页面、添加请假组件之间的关系梳理、model和v-model
- 用JBE修改Java字节码
- teechart的addarray_C# TeeChart的一些用法
- 遗传算法求解一元函数最大值||python
- 2021年电工(初级)考试内容及电工(初级)证考试
热门文章
- 进入3.0时代,紫光云致力做好数字化转型的底座
- VC++ 防火墙 Win7 XP MFC
- android金额大小写转换,Java/android 金额 数字转成大写汉子
- Tableau豆瓣电影项目实战作业 Day1
- yolov5 训练时报错踩坑(不定时更新)
- 1. Java基础语法
- pyautogui自动化控制鼠标和键盘操作
- 解决linux有时候不能粘贴
- spring容器destory时没有调用destory-method解决方法
- JsonParseException: Unexpected character (‘sss‘ (code xxx)): was expecting a colon to separ