是否有任何 public API (s) 可用于验证激活码?
Are there any public API (s) that I could use to verify an activation code?
我正在尝试创建一个产品验证系统,但登录部分已关闭。我的问题是,如果有任何 API (s) 可以验证激活码之类的东西,并且 return 是否成功。
顺便说一句,您可能需要水平滚动才能看到所有代码
//How would I add a verification system
document.getElementById('redeemButton').addEventListener('click', () => {
var code = document.getElementById('redeemCodeBox').value;
var product = document.getElementById('productCode').value;
const fetchPromise = fetch(`https://www.mywebsite.com/api/redeem?product=${product}&code=${code}`);
fetchPromise.then( response => {
if (!response.ok) {
throw new Error(`HTTP error: ${response.status}`);
}
return response.json();
})
.then( json => {
console.log(json[0].name);
})
.catch( error => {
console.error(`Could not get products: ${error}`);
throw `Please Enter a Valid Activation Code`;
});
});
我认为您不应该依赖第三方来验证激活码。
您应该使用存储在数据库中的 JWT 令牌 + 激活码的组合。
生成激活码。
生成 JWT 令牌。
常量令牌=等待this.jwtService.sign(
{
usetId: 用户Id
},
{ expiresIn: "1d" }
);
将激活码和 JWT 令牌保存到数据库。
向用户发送带有激活码的 E-mail 或短信。 + 包括 URL 用户可以在其中插入激活码。
URL 可以看起来像这样:
https://www.mywebsite.com/api/activation?token=eyJhbGciOiJIfasdfas
(对 JWT 令牌使用 查询参数 =>> ?token=JWT_token
验证来自 URL 的 JWT 令牌(来自查询参数“token”的值)并验证令牌是否未过期。
控制用户输入是否与存储在数据库中的激活码匹配。
已激活
我正在尝试创建一个产品验证系统,但登录部分已关闭。我的问题是,如果有任何 API (s) 可以验证激活码之类的东西,并且 return 是否成功。 顺便说一句,您可能需要水平滚动才能看到所有代码
//How would I add a verification system
document.getElementById('redeemButton').addEventListener('click', () => {
var code = document.getElementById('redeemCodeBox').value;
var product = document.getElementById('productCode').value;
const fetchPromise = fetch(`https://www.mywebsite.com/api/redeem?product=${product}&code=${code}`);
fetchPromise.then( response => {
if (!response.ok) {
throw new Error(`HTTP error: ${response.status}`);
}
return response.json();
})
.then( json => {
console.log(json[0].name);
})
.catch( error => {
console.error(`Could not get products: ${error}`);
throw `Please Enter a Valid Activation Code`;
});
});
我认为您不应该依赖第三方来验证激活码。
您应该使用存储在数据库中的 JWT 令牌 + 激活码的组合。
生成激活码。
生成 JWT 令牌。
常量令牌=等待this.jwtService.sign( { usetId: 用户Id }, { expiresIn: "1d" } );
将激活码和 JWT 令牌保存到数据库。
向用户发送带有激活码的 E-mail 或短信。 + 包括 URL 用户可以在其中插入激活码。
URL 可以看起来像这样:
https://www.mywebsite.com/api/activation?token=eyJhbGciOiJIfasdfas
(对 JWT 令牌使用 查询参数 =>> ?token=JWT_token
验证来自 URL 的 JWT 令牌(来自查询参数“token”的值)并验证令牌是否未过期。
控制用户输入是否与存储在数据库中的激活码匹配。
已激活