我正在尝试完成一个挑战,该挑战要求创建一个TOTP密码并使用基本身份验证发送发送请求。如果请求成功,我将收到一封包含进一步说明的电子邮件。我正在用Node.js编写所有代码。
我创建了一个TOTP算法,并根据rfc6238规范(https://www.rfc-editor.org/rfc/rfc6238.txt)中获得的结果进行了测试,并且一切正常,因此生成的TOTP应该可以。
对于挑战,这些是说明的一部分:
TOTP的时间步长X为30秒。 T0为0。请使用HMAC-SHA-512 哈希函数,而不是默认的HMAC-SHA-1。令牌共享机密 是用户ID,后跟ASCII字符串值“ CODE000000000000”(不是 包括双引号)。
TOTP必须为10位数字
错误:当我发送请求时,我一直收到未经授权的错误401。
我担心我的代码中缺少其他内容。也许在我的axios发布请求中?请看看,让我知道。我留下了测试代码和rfc表,以便您也可以验证它是否有效。
SELECT UserId, Vendors, dobyr, login, source,
MAX(CASE WHEN RN = 1 THEN Value END) Source1,
MAX(CASE WHEN RN = 2 THEN Value END) Source2,
MAX(CASE WHEN RN = 3 THEN Value END) Source3,
MAX(YEAR(GETDATE()) - dobyr) Age
FROM
(
VALUES('10bta', 'yes', 1976, 'yes', 'google_hope'),
('25cwd', 'yes', 1986, 'yes', 'google_hln_1045'),
('45tyj', 'no', 1990, 'no', 'google_hln_4345'),
('645io', 'no', 1960, 'no', 'google')
) T(UserId, Vendors, dobyr, login, source)
CROSS APPLY
(
SELECT Value, ROW_NUMBER() OVER(ORDER BY (SELECT 1)) RN
FROM STRING_SPLIT(Source, '_')
)SS
GROUP BY UserId, Vendors, dobyr, login, source;