Launch Daemon无法访问钥匙串条目

时间:2020-07-29 05:30:50

标签: macos msal launch-daemon

我有一个命令行过程,该过程正在调用API并从钥匙串中获取令牌。当我从终端运行有/没有sudo的独立过程时,它能够访问钥匙串条目。现在,我已将其转换为启动守护程序,并尝试将其作为启动守护程序执行,然后它无法访问令牌,并给我以下错误:“无法从钥匙串读取存储的项目(状态:-25308)”。我正在使用下面的plist创建启动守护程序。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>TestAuth_SilentDaemon</string>
    <key>Program</key>
    <string>*complete path of TestAuth_SilentDaemon*</string>  
    <key>KeepAlive</key>
    <true/>
    <key>SessionCreate</key>
    <true/>
    <key>UserName</key>
    <string>admin</string>
</dict>
</plist>

有人可以建议我在这里缺少什么吗?

1 个答案:

答案 0 :(得分:0)

似乎可以将其连接到errSecInteractionNotAllowed。 错误-25308是errSecInteractionNotAllowed,这通常意味着您正在尝试访问设备锁定时无法访问的钥匙串项目。

通常将其描述为iOS问题,但MS文档也谈到:

在macOS 10.15+上,iOS和macOS之间MSAL的行为相同。 MSAL使用钥匙串访问组进行钥匙串共享。

查看答案:https://stackoverflow.com/a/9735506/1595293

基于帖子: