我正试图添加Spotify认证到我的单页React应用程序后,从他们的API文档。
到目前为止,这是我如何根据我在网上找到的解决方案生成代码的:
const generateVerifier = () => {
return crypto.randomBytes(64).toString('hex');
}
const getChallenge = verifier => {
return crypto.createHash('sha256')
.update(verifier)
.digest('base64')
.replace(/\+/g, '-')
.replace(/\//g, '_')
.replace(/=/g, '')
}
下面是我使用该技术创建的一对代码的示例:
- 验证人:
e8c3745e93a9c25ce5c2653ee36f5b4fa010b4f4df8dfbad7055f4d88551dd960fb5b7602cdfa61088951eac36429862946e86d20b15250a8f0159f1ad001605
- 挑战:
CxF5ZvoXa6Cz6IcX3VyRHxMPRXYbv4PADxko3dwPF-I
我创建的一对旧代码的例子:
- 验证人:
1jp6ku6-16xxjfi-1uteidc-9gjfso-1mcc0wn-tju0lh-tr2d8k-1auq4zk
- 挑战:
SRvuz5GW2HhXzHs6b3O_wzJq4sWN0W2ma96QBx_Z77s
然后,我从API得到一个响应,说“code_verifier was incorrect.”我在这里做错了什么?
3条答案
按热度按时间yzuktlbb1#
请尝试按照此指南生成代码以生成代码质询和验证器
以下是重要的部分:
生成验证码
验证器生成代码质询
这是一个working example
您还可以检查代码here的有效性
bwleehnv2#
我从passport oauth2库中提取了这个代码片段来生成代码验证器和代码质询。
fsi0uk1n3#
完全工作和验证的示例:
运行示例: