gpt4 book ai didi

javascript - 谷歌智能锁 : what to do when PromiseStatus: pending via Javascript in console

转载 作者:行者123 更新时间:2023-11-30 00:58:40 24 4
gpt4 key购买 nike

我们正在集成 Google Smartlock。每次我们运行 JS 代码以在 1 个屏幕上启用智能锁时,它什么都不做。当我们手动触发它时,我们只会在控制台日志中看到它。

Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}

javascript是这样的

<script>
window.onload=function(e){
var debug = true;
var always = function() { console.log('Promise resolved: but dont understand how should process: we want/need to login') }
navigator.credentials.get({password: true, unmediated: true, }).then(function(cred) {
if (cred) {
if (cred.type == 'password') {
var form = new FormData();
cred.additionalData = form;
var url = 'domain.com/login';
fetch(url, {method: 'POST', credentials: cred }).then(function(response) {
if (response.status == 202) {
if (debug) { console.log('Login success; reload stopped'); exit; }
window.location.reload();
}
if (debug) { console.log('Server status: ' + response.status); }
return;
}).catch(function(err) { console.log('Smartlock Ajax error:'+ err);
}).then(always, always);
} // can add federated here
} else if (typeof cred === "undefined") {
// user clicks cancel or no credentials found
var expiry = new Date(); expiry.setDate(expiry.getDate() + (1/3600*30));
document.cookie="dontshowagain=true; expires=" + expiry.toGMTString();
}
});

}
</script>

问题:有人知道这里发生了什么吗?

我用 1 个保存的密码和 2 个保存的密码进行了测试。我们确实在 Chrome 中看到了 URL 旁边的小 key 图标。但它不会弹出或做任何事情。

帮助/建议表示赞赏

enter image description here

enter image description here

引用资料: https://support.google.com/accounts/answer/6160273?hl=en

最佳答案

您似乎在请求 unmediated: true,这会强制浏览器不显示帐户选择器 UI。

当您存储了多个凭据或需要用户调解的一个凭据时,get(...) 返回 undefined 除非您允许调解( unmediated: false 这是默认值)。

注意:当用户退出帐户时,您的凭据应该需要调解(navigator.credentials.requireUserMediation() ).

关于javascript - 谷歌智能锁 : what to do when PromiseStatus: pending via Javascript in console,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39766821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com