我需要使用TOTP(基于时间的一次性密码)向包含[
ORIA]从起源'http://localhost:3000对
URL
处的XMLHttpRequest的访问已被CORS策略阻止:对预检请求的响应未通过访问控制检查:'Access-Control-Allow-Origin'标头包含一个值'https://topic.name.com'不等于提供的原点。================================================ =========我正在使用otplib作为库来帮助我生成TOTP。
import { totp } from 'otplib'
import base64 from 'base-64'
import axios from 'axios'
const request = () => {
const URL = 'https://api.topic.name.com/topic/003'
const info = {
"github_url": "https://github.com/myname/topic",
"contact_email": "[email protected]"
}
const secret = 'nameTopic'
const dataBody = JSON.stringify(info)
const sharedSecret = info.contact_email+secret
totp.options = { digits: 10, algorithm: "sha512", epoch: 0}
const newTOTP = totp.generate(sharedSecret);
const isValid = totp.check(newTOTP, sharedSecret);
console.log(newTOTP, isValid)
const userPass = info.contact_email + ":" + newTOTP;
const credential = base64.encode(userPass);
const config = {
headers: {
'Content-Type': 'application/json',
"Authorization": "Basic " + credential
}
};
axios.post(URL, dataBody, config).then((response) => {
console.log(response)
}, (err) => {
console.log(err)
})
}
export default request
我真的不明白为什么会有CORS问题,可能是我的标题错误吗?非常感谢您的帮助,感谢您的宝贵时间。
node index.js
您设法解决挑战了吗?即使遵循相同的代码库,我仍然会得到Access denied: Invalid token, wrong code
。