我对 SigninManager 有问题。当我使用 tan.tastan@abcd.com
登录时,abdc.com
是一个可访问的域。但是,如果我写了一个错误的域,例如tan.tastan@abcd***E***.com
,我没有得到响应,我的应用程序正在等待。没有任何反应,也没有返回错误代码。
这是我的示例代码,settings
包括用户名、密码和域信息。
function doLogin(settings) {
return new Promise((resolve, reject) => {
window.skypeWebSDKApi.signInManager.signIn(settings).then((response) => {
resolve(response);
}, (error) => {
reject(error);
}).catch(reject);
});
}
问题出在哪里?
如果不看到settings
的内容,很难确切地知道发生了什么,但我怀疑你在这里的问题是一个没有得到解决的承诺。尝试简化通话:
function doLogin(settings) {
var app = new api.application;
app.signInManager.signIn(settings).then(function () {
console.log('success');
}, function (error) {
console.log(error);
});
}
我已经使用 SDK 一段时间了,这是我的经验:尝试使用不存在的域登录时,Web SDK 永远不会返回错误。我尝试了不同的 SDK 版本以及正式发布版和公共预览版 API 密钥。
我最终在尝试登录时启动了自己的登录计时器。当 20 秒内未收到响应时,我会发送注销请求(取消登录)并向用户显示一条消息(请确保您输入了正确的用户名等)。有这样的解决方法真的很蹩脚,但不幸的是,我还没有找到更好的方法来解决这个问题,也假设Microsoft不会再解决这个问题了......