Add XCreds as a macOS FMA (#45404)
Register XCreds as a maintained app: add Homebrew cask (Casks/xcreds.rb) and API/input JSON, add app metadata (ee/maintained-apps/inputs/homebrew/xcreds.json), and include outputs (apps.json and outputs/xcreds/darwin.json) with installer/uninstall scripts and checks. Also add frontend icon component and asset (XCreds.tsx, app-icon-xcreds-60x60@2x.png) and wire the icon into the icons index mapping.
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
cask "xcreds" do
|
||||
version "5.9,9148"
|
||||
sha256 "ab416a7d215029cfed6f292b176951ca614ce263c2b8923beee7fcf417de199a"
|
||||
|
||||
url "https://github.com/twocanoes/xcreds/releases/download/tag-#{version.csv.first}(#{version.csv.second})/XCreds_Build-#{version.csv.second}_Version-#{version.csv.first}.pkg"
|
||||
name "XCreds"
|
||||
desc "Syncs the user's IdP password with their macOS login password"
|
||||
homepage "https://twocanoes.com/products/mac/xcreds/"
|
||||
|
||||
livecheck do
|
||||
skip "Twocanoes does not expose a parseable XCreds version feed; bump manually"
|
||||
end
|
||||
|
||||
depends_on macos: ">= :big_sur"
|
||||
|
||||
pkg "XCreds_Build-#{version.csv.second}_Version-#{version.csv.first}.pkg"
|
||||
|
||||
# XCreds installs a LaunchAgent that runs the app at user login, and a
|
||||
# SecurityAgentPlugin that participates in the macOS login window. The
|
||||
# postinstall script also modifies the system authorization database
|
||||
# (system.login.console) — that part cannot be reverted declaratively;
|
||||
# admins who need a full revert should restore from the rights.bak
|
||||
# captured at install time under /Library/Application Support/xcreds/.
|
||||
uninstall launchctl: "com.twocanoes.xcreds-launchagent",
|
||||
quit: "com.twocanoes.xcreds",
|
||||
pkgutil: "com.twocanoes.pkg.secureremoteaccess",
|
||||
delete: [
|
||||
"/Applications/XCreds.app",
|
||||
"/Library/Security/SecurityAgentPlugins/XCredsLoginPlugin.bundle",
|
||||
"/Library/LaunchAgents/com.twocanoes.xcreds-launchagent.plist",
|
||||
]
|
||||
|
||||
zap trash: [
|
||||
"~/Library/Application Support/xcreds",
|
||||
"~/Library/Caches/com.twocanoes.xcreds",
|
||||
"~/Library/HTTPStorages/com.twocanoes.xcreds",
|
||||
"~/Library/Preferences/com.twocanoes.xcreds.plist",
|
||||
"~/Library/Saved Application State/com.twocanoes.xcreds.savedState",
|
||||
"~/Library/WebKit/com.twocanoes.xcreds",
|
||||
"/Library/Application Support/xcreds",
|
||||
"/Library/Managed Preferences/com.twocanoes.xcreds.plist",
|
||||
]
|
||||
end
|
||||
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"token": "xcreds",
|
||||
"old_tokens": [],
|
||||
"name": [
|
||||
"XCreds"
|
||||
],
|
||||
"desc": "Syncs the user's IdP password with their macOS login password",
|
||||
"homepage": "https://twocanoes.com/products/mac/xcreds/",
|
||||
"url": "https://github.com/twocanoes/xcreds/releases/download/tag-5.9(9148)/XCreds_Build-9148_Version-5.9.pkg",
|
||||
"url_specs": {},
|
||||
"version": "5.9,9148",
|
||||
"autobump": true,
|
||||
"no_autobump_message": null,
|
||||
"skip_livecheck": true,
|
||||
"bundle_version": null,
|
||||
"bundle_short_version": null,
|
||||
"sha256": "ab416a7d215029cfed6f292b176951ca614ce263c2b8923beee7fcf417de199a",
|
||||
"artifacts": [
|
||||
{
|
||||
"uninstall": [
|
||||
{
|
||||
"launchctl": "com.twocanoes.xcreds-launchagent",
|
||||
"quit": "com.twocanoes.xcreds",
|
||||
"pkgutil": "com.twocanoes.pkg.secureremoteaccess",
|
||||
"delete": [
|
||||
"/Applications/XCreds.app",
|
||||
"/Library/Security/SecurityAgentPlugins/XCredsLoginPlugin.bundle",
|
||||
"/Library/LaunchAgents/com.twocanoes.xcreds-launchagent.plist"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"pkg": [
|
||||
"XCreds_Build-9148_Version-5.9.pkg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"zap": [
|
||||
{
|
||||
"trash": [
|
||||
"~/Library/Application Support/xcreds",
|
||||
"~/Library/Caches/com.twocanoes.xcreds",
|
||||
"~/Library/HTTPStorages/com.twocanoes.xcreds",
|
||||
"~/Library/Preferences/com.twocanoes.xcreds.plist",
|
||||
"~/Library/Saved Application State/com.twocanoes.xcreds.savedState",
|
||||
"~/Library/WebKit/com.twocanoes.xcreds",
|
||||
"/Library/Application Support/xcreds",
|
||||
"/Library/Managed Preferences/com.twocanoes.xcreds.plist"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"caveats": null,
|
||||
"caveats_rosetta": null,
|
||||
"depends_on": {
|
||||
"macos": {
|
||||
">=": [
|
||||
"11"
|
||||
]
|
||||
}
|
||||
},
|
||||
"conflicts_with": null,
|
||||
"container": null,
|
||||
"rename": [],
|
||||
"auto_updates": null,
|
||||
"deprecated": false,
|
||||
"deprecation_date": null,
|
||||
"deprecation_reason": null,
|
||||
"deprecation_replacement_formula": null,
|
||||
"deprecation_replacement_cask": null,
|
||||
"deprecate_args": null,
|
||||
"disabled": false,
|
||||
"disable_date": null,
|
||||
"disable_reason": null,
|
||||
"disable_replacement_formula": null,
|
||||
"disable_replacement_cask": null,
|
||||
"disable_args": null,
|
||||
"languages": [],
|
||||
"ruby_source_path": "Casks/xcreds.rb",
|
||||
"ruby_source_checksum": {
|
||||
"sha256": "37fed8dc1c0a4d404d6be172a465e6fe1f919a5b79200155923b2399001d6a54"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "XCreds",
|
||||
"unique_identifier": "com.twocanoes.xcreds",
|
||||
"token": "xcreds",
|
||||
"installer_format": "pkg",
|
||||
"slug": "xcreds/darwin",
|
||||
"default_categories": ["Productivity"],
|
||||
"cask_path": "ee/maintained-apps/inputs/homebrew/custom-tap/api/xcreds.json"
|
||||
}
|
||||
@@ -1961,6 +1961,13 @@
|
||||
"unique_identifier": "com.wrike.Wrike",
|
||||
"description": "Wrike is a project management app."
|
||||
},
|
||||
{
|
||||
"name": "XCreds",
|
||||
"slug": "xcreds/darwin",
|
||||
"platform": "darwin",
|
||||
"unique_identifier": "com.twocanoes.xcreds",
|
||||
"description": "XCreds is an app that syncs a user's cloud identity provider password with their macOS login password."
|
||||
},
|
||||
{
|
||||
"name": "Yubico Authenticator",
|
||||
"slug": "yubico-authenticator/darwin",
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -247,6 +247,7 @@ import Windsurf from "./Windsurf";
|
||||
import Wireshark from "./Wireshark";
|
||||
import Word from "./Word";
|
||||
import WrikeForMac from "./WrikeForMac";
|
||||
import XCreds from "./XCreds";
|
||||
import YubicoAuthenticator from "./YubicoAuthenticator";
|
||||
import YubikeyManager from "./YubikeyManager";
|
||||
import Zed from "./Zed";
|
||||
@@ -517,6 +518,7 @@ export const SOFTWARE_NAME_TO_ICON_MAP = {
|
||||
wireshark: Wireshark,
|
||||
"wrike for mac": WrikeForMac,
|
||||
wrike: WrikeForMac,
|
||||
xcreds: XCreds,
|
||||
"yubico authenticator": YubicoAuthenticator,
|
||||
"yubikey manager": YubikeyManager,
|
||||
zed: Zed,
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 6.7 KiB |
Reference in New Issue
Block a user