为什么自动检测 otp 没有在 React 中呈现代码
Why does Auto detect otp is not rendering the code in React
我在使用 web-otp documentation 的应用程序中使用自动检测 otp。我在我的应用程序中使用了 bleow 代码
otprenderGetMobile() {
const{ otpValue}=this.props;
let signal = new AbortController();
setTimeout(() => {
// abort after 10 minutes
signal.abort();
}, 10 * 60 * 1000);
let { code, type } = navigator.credentials.get({
abort: signal,
otp: {
transport: ["sms"]
}
}).then(otp=>{
alert('otp value is: ',JSON.stringify(otp));
alert('code value is: ',JSON.stringify(code));
alert('type value is: ',JSON.stringify(type));
otpValue = otp;
});
}
我的 htm 是
<input
type="text"
id="otp"
name="otp"
autocomplete="one-time-code"
/>
我的 OTP 消息格式是
3052 is your Myapp verification code
@dev.myapp.com #3052
它在 android 设备上工作正常,但问题是当我允许设备权限时,otp 不会在应用程序中提示。
我附上了 android 输出的图像
here are the outputs after i allow browser access
在 jsx 组件中使用它
<input
type="text"
autocomplete="one-time-code"
/>
资源https://www.twilio.com/blog/html-attributes-two-factor-authentication-autocomplete
我已经通过替换下面的代码解决了这个问题
let { code, type } = navigator.credentials.get({
abort: signal,
otp: {
transport: ["sms"]
}
}).then(otp=>{
alert('otp value is: ',JSON.stringify(otp));
alert('code value is: ',JSON.stringify(code));
alert('type value is: ',JSON.stringify(type));
otpValue = otp;
});
有了这个
navigator.credentials.get({
otp: { transport: ['sms'] },
signal: ac.signal
}).then(otp => {
console.log('your otp code is',otp.code)
}).catch(err => {
console.log(err);
});
我在使用 web-otp documentation 的应用程序中使用自动检测 otp。我在我的应用程序中使用了 bleow 代码
otprenderGetMobile() {
const{ otpValue}=this.props;
let signal = new AbortController();
setTimeout(() => {
// abort after 10 minutes
signal.abort();
}, 10 * 60 * 1000);
let { code, type } = navigator.credentials.get({
abort: signal,
otp: {
transport: ["sms"]
}
}).then(otp=>{
alert('otp value is: ',JSON.stringify(otp));
alert('code value is: ',JSON.stringify(code));
alert('type value is: ',JSON.stringify(type));
otpValue = otp;
});
}
我的 htm 是
<input
type="text"
id="otp"
name="otp"
autocomplete="one-time-code"
/>
我的 OTP 消息格式是
3052 is your Myapp verification code
@dev.myapp.com #3052
它在 android 设备上工作正常,但问题是当我允许设备权限时,otp 不会在应用程序中提示。
我附上了 android 输出的图像
here are the outputs after i allow browser access
在 jsx 组件中使用它
<input
type="text"
autocomplete="one-time-code"
/>
资源https://www.twilio.com/blog/html-attributes-two-factor-authentication-autocomplete
我已经通过替换下面的代码解决了这个问题
let { code, type } = navigator.credentials.get({
abort: signal,
otp: {
transport: ["sms"]
}
}).then(otp=>{
alert('otp value is: ',JSON.stringify(otp));
alert('code value is: ',JSON.stringify(code));
alert('type value is: ',JSON.stringify(type));
otpValue = otp;
});
有了这个
navigator.credentials.get({
otp: { transport: ['sms'] },
signal: ac.signal
}).then(otp => {
console.log('your otp code is',otp.code)
}).catch(err => {
console.log(err);
});