99designs / 99designs/keyring

Proposal: Keyring in keyring? Or how to reduce the number of items in a Keychain-backed keyring

未關閉
#50 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Go
星號
657
分支
155
PR 合併指標
30 天內沒有已合併 PR

描述

Hi, I'm the (main) maintainer of aws-okta. We don't sign our Mac OS X builds, so we constantly run into the issue of users having to reauthorize aws-okta for all its Keychain items, every time the binary changes (upgrades, new builds during dev, ...).

Probably, the best solution is to figure out signing, but [my workaround was to collapse all items into a single JSON item](https://github.com/segmentio/aws-okta/pull/174). But it made me think that maybe this is useful to keyring more generally. It's essentially a JSON-backed, unencrypted keyring in a second Keychain-backed keyring item.

First off, I'm wondering if this is actually useful to any other users.

Second, I'm wondering how this should be implemented.

One approach is to add a new type like:

```
type KeyringInKeyring struct {
Parent *Keyring
ParentItemKey string
}
```
That would basically proxy `Keyring.*` methods to the parent keyring.

I'm not sure of the general utility of this approach. Another would be to solve this specific use case with a new backend `SingleItemKeychain` that would embed all Items in a single Keychain item.

Thoughts? To be clear, I'm considering contributing this myself.

貢獻指南

這個儲存庫沒有索引到貢獻指南

研究方向

該 issue 討論了一個可能的新 backend 或 wrapper,用來減少 Keychain items。先檢查 codebase 中現有的 Keychain backend,了解 items 是如何儲存的。查看提議的 struct,以及它會如何 proxy methods。透過審查 keyring interface,判斷新的 backend 或 wrapper 哪個更合適。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
go
領域
cli, security
Issue 類型
功能
難度
4/5
預估耗時
3-5 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
30/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。