macos - 启动守护程序无法访问钥匙串条目
问题描述
我有一个命令行进程,它正在调用 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>
有人可以建议我在这里缺少什么吗?
解决方案
它似乎可以连接到errSecInteractionNotAllowed
. 错误 -25308 是 errSecInteractionNotAllowed 这通常意味着您正在尝试访问在设备锁定时无法访问的钥匙串项。
它主要被描述为 iOS 问题,但 MS 文档也谈到:
在 macOS 10.15+ 上,MSAL 的行为在 iOS 和 macOS 之间是相同的。MSAL 使用钥匙串访问组进行钥匙串共享。
查看答案:https ://stackoverflow.com/a/9735506/1595293
根据帖子:
推荐阅读
- r - 图例中没有几何点与几何线的组合
- svelte - Svelte/Sapper 如何在不提供绝对 URL 的情况下从内部 api 获取数据
- python - 熊猫中的分组和计算比率
- python - 如何向字典中添加元素?
- arrays - 修改结构数组中结构的值
- laravel - 碳回归糟糕的时光
- google-cloud-platform - 如何从我的谷歌计算引擎 windows 服务器虚拟机下载数据或从该虚拟机上传数据到存储桶?
- c++ - 可以读入进程内存的最大块大小是多少?
- jenkins - 无法解析项目:@react-native-community_async-storage
- c# - 单击按钮时将更多结果附加到表中