我最近开始在 macOS Sierra 上使用 Microsoft Teams 桌面应用程序 (v0.7.00.3101),一切正常。我的公司最近切换到使用客户端证书进行身份验证 (MFA),从那时起,Teams 桌面应用程序不允许我登录。
我已经在我的 Mac 上安装了证书和相应的根证书,我可以使用 Google Chrome 成功登录https://teams.microsoft.com 。在 MS 登录屏幕上输入我的电子邮件地址后,我被转发到我公司的登录页面,在那里输入我的密码后,Chrome 会显示一个选择证书的对话框。一旦我选择了它,我就会被转发到 MS Teams 站点。
当使用桌面应用程序(内部调用 Chrome,我猜)时,我进入我公司的登录页面,并在那里输入密码,但应用程序只是停留在那里并且没有选择证书。
同样的方法对同事来说效果很好。在他的案例中,MS Teams 应用程序会自动选择证书并让他登录。
MS Teams 桌面应用程序中是否有方法可以了解有关 Chrome 正在做什么以及它为什么不选择证书的更多信息?
更新: 经过更多挖掘,我找到了一种让 MS Teams/Electron 吐出更多信息的方法:
cd /Applications/Microsoft Teams.app/Contents/MacOS
ELECTRON_ENABLE_LOGGING=true ./Teams
这导致日志显示在控制台中,一旦登录屏幕无法将证书发送到服务器,日志中就会出现以下内容:
[47746:0215/104528:ERROR:client_cert_store_mac.cc(98)] CopyCertChain error: Error Domain=NSOSStatusErrorDomain Code=-50 "paramErr: error in user parameter list" (-50)
此错误消息显示多次,我猜它找到的每个证书一次。从这条错误消息中,我发现了以下错误报告 - 似乎是 macOS Sierra 引入的一个未解决问题:https ://bugs.chromium.org/p/chromium/issues/detail?id=649953
这也解释了为什么这对我的同事有用,因为他仍在 macOS El Capitan 上,没有出现此错误...
我可以做些什么来更新 MS Teams 以使用错误修复,还是需要向 MS Teams 团队报告以供他们修复?