是否可以使用AppleScript或Shell脚本从Keychain中删除应用程序密码?

时间:2014-11-10 19:08:50

标签: applescript keychain

我在Automator中编写了一个AppleScript / Shell脚本应用程序来杀死所有相关进程,重置环境测试变量,并删除所有相关的plist,设备文件和日志。但是,在我再次开始测试之前,我仍然需要手动删除应用程序oAuth令牌。我需要一个解决方案来自动查找与属性匹配的所有密码并删除它们。

从另一个问题我发现了以下片段:

property theKey : "abcd"

tell application "Keychain Scripting"
    set keyList to every generic key of current keychain
    repeat with x from 1 to (length of keyList)
        if the name of item x of keyList is theKey then
            delete generic key x of current keychain
            exit repeat
        end if
    end repeat
end tell

但是,当我尝试验证它时,它会挂起“通用”。

思想?

1 个答案:

答案 0 :(得分:0)

我最终找到了一个完美的解决方案。

security delete-generic-password -l "com.oauth_token_example.auth"
    ~/Library/Keychains/login.keychain || set t 0

这有效地删除了Keychain中与字符串匹配的所有键。如果没有找到与该字符串匹配的键,则会返回错误,因此我在一个不执行任何操作的else语句(设置为t 0)中进行了双管道操作。我确信有一种更简单的方法,但如果它有效,谁在乎呢?