Jump to content

jpm

Member
  • Posts

    11
  • Joined

  • Last visited

Posts posted by jpm

  1. 3 minutes ago, blacs30 said:

    So do I understand that you got the workflow partly working now?
    One thing which doesn't really work yet easily is the usage of the bitwarden-cli in the terminal and in parallel the bitwarden workflow. that is because the session token will change each time an unlock happens and all the secrets are re-encrypted.

    As a workaround you can use this script to share the same token between the cli and the workflow https://github.com/luckman212/bitwarden-cli-helpers

     

    Thanks for mentioning the issue that after logout the wrong item is placed to unlock.. that will require a fix from my side.
     

     

    Yes, it's working well now. Thanks!

     

    I'm not sure how to use these scripts, but thanks for that too. I don't think the log in and out, session token thing will matter much, as I don't expect to be logging out very much.

     

  2. 13 hours ago, blacs30 said:

    Thanks for the logs. 
    2 more things I haven't asked yet;

    - Does the bw login work fine in the terminal? Can you try that, and once you are logged in, then the alfred workflow just needs an unlock

    It does! And as you suggest, I can then unlock and lock without problem. Also, I now have 2 Keychain entries.

     

    13 hours ago, blacs30 said:

    - run a normal `bw logout` in the terminal and then delete this file: `rm ~/Library/Application\ Support/Bitwarden\ CLI/data.json` (it contains the encrypted secrets, loaded from the bitwarden server); then run bw login again, via terminal and/or via workflow

    That works fine. It also asks for my client_secret when I log back in for the first time. Also, each time I use client_secret, Bitwarden thinks I'm logging in from a new device (I get an email).

     

    I still have one minor issue. If I log out via the workflow, then trigger the workflow again (either via shortcut or '.bw'), it no longer shows the 'logged out', 'log in' options, but the 'locked', 'unlock' ones instead. If I select those then unlock via password, I get notified that I'm not logged in, but don't get sent to a login field.

     

    Basically, I can easily login in by going to '.bwauth', but the workflow isn't putting login options up front when I'm logged out.

     

    Thanks for all your help here. Happy to send more logs if it helps.

     

  3. 8 minutes ago, blacs30 said:

    Oh. I will check the script later once more. Was it ever working for you before?

    I'm afraid not. When I first login, I get a notification of success, but then everything I do after that redirects me to login again.

     

    If it's any use, here is the log when I log in then (try to) log out immediately afterwards.

     

    [15:58:53.279] Bitwarden v2[Script Filter] Queuing argument '(null)'
    [15:58:53.378] Bitwarden v2[Script Filter] Script with argv '(null)' finished
    [15:58:53.380] STDERR: Bitwarden v2[Script Filter] 🍺
    15:58:53 workflow.go:328: -------- Bitwarden v2/2.4.3 (AwGo/0.27.1) --------
    15:58:53 main.go:162: &main.options{Search:false, Config:false, SetConfigs:false, Auth:true, Sfa:false, Lock:false, Icons:false, Folder:false, Unlock:false, Login:false, Logout:false, Sync:false, Open:false, GetItem:false, Force:false, Totp:false, Last:false, Background:false, Id:"", Query:"", Attachment:"", Output:""}
    15:58:53 main.go:164: args=[]string{"-auth", "--", ""} => []string{""}
    15:58:53 main.go:165: (main.config) {
     AutoFetchIconCacheAge: (int) 1440,
     AutoFetchIconMaxCacheAge: (time.Duration) 24h0m0s,
     BwconfKeyword: (string) (len=9) ".bwconfig",
     BwauthKeyword: (string) (len=7) ".bwauth",
     BwKeyword: (string) (len=3) ".bw",
     BwfKeyword: (string) (len=4) ".bwf",
     BwExec: (string) (len=2) "bw",
     BwDataPath: (string) "",
     Debug: (bool) false,
     Email: (string) (len=23) "foo@fastmail.com",
     EmptyDetailResults: (bool) false,
     IconCacheAge: (int) 43200,
     IconCacheEnabled: (bool) true,
     IconMaxCacheAge: (time.Duration) 720h0m0s,
     MaxResults: (int) 1000,
     Mod1: (string) (len=3) "alt",
     Mod1Action: (string) (len=13) "username,code",
     Mod2: (string) (len=5) "shift",
     Mod2Action: (string) (len=3) "url",
     Mod3: (string) (len=4) "ctrl",
     Mod3Action: (string) (len=4) "totp",
     Mod4: (string) (len=7) "cmd,opt",
     Mod4Action: (string) (len=4) "more",
     NoModAction: (string) (len=13) "password,card",
     OutputFolder: (string) (len=34) "/Users/foo/Downloads/",
     Path: (string) (len=101) "/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/local/share/npm/bin:/usr/bin:/usr/sbin:/opt/homebrew/bin",
     ReorderingDisabled: (bool) true,
     Server: (string) "",
     Sfa: (bool) false,
     SfaMode: (int) 0,
     SkipTypes: (string) "",
     SyncCacheAge: (int) 10080,
     SyncMaxCacheAge: (time.Duration) 168h0m0s,
     TitleWithUser: (bool) true,
     TitleWithUrls: (bool) true,
     OpenLoginUrl: (bool) true
    }
    15:58:53 cli.go:303: filtering auth config "" ...
    15:58:53 feedback.go:509: Sent 4 result(s) to Alfred
    15:58:53 workflow.go:405: ------------------- 2.542125ms -------------------
    [15:58:53.383] Bitwarden v2[Script Filter] {
      "variables": {
        "AW_SESSION_ID": "CTSNJDEAKYFSPC6HTND8N0UA"
      },
      "items": [
        {
          "title": "Login to Bitwarden",
          "subtitle": "↩ or ⇥ to login now",
          "valid": true,
          "icon": {
            "path": "icons/on.png"
          },
          "variables": {
            "action": "-login",
            "email": "foo@fastmail.com",
            "mapsfamode": " ",
            "sfamode": "-1",
            "type": "login"
          }
        },
        {
          "title": "Logout",
          "subtitle": "Logout from Bitwarden",
          "valid": true,
          "icon": {
            "path": "icons/off.png"
          },
          "variables": {
            "action": "-logout"
          }
        },
        {
          "title": "Unlock",
          "subtitle": "Unlock Bitwarden",
          "valid": true,
          "icon": {
            "path": "icons/on.png"
          },
          "variables": {
            "action": "-unlock",
            "email": "foo@fastmail.com",
            "type": "unlock"
          }
        },
        {
          "title": "Lock",
          "subtitle": "Lock Bitwarden",
          "valid": true,
          "icon": {
            "path": "icons/off.png"
          },
          "variables": {
            "action": "-lock"
          }
        }
      ]
    }
    [15:58:54.927] Bitwarden v2[Script Filter] Processing complete
    [15:58:54.928] Bitwarden v2[Script Filter] Passing output '' to Conditional
    [15:58:54.928] Bitwarden v2[Conditional] Processing complete
    [15:58:54.929] Bitwarden v2[Conditional] Passing output '' to Run Script
    [15:59:03.765] Bitwarden v2[Run Script] Processing complete
    [15:59:03.773] Bitwarden v2[Run Script] Passing output 'Logged in.
    ' to Post Notification
    [15:59:05.532] Bitwarden v2[Script Filter] Queuing argument '(null)'
    [15:59:05.647] Bitwarden v2[Script Filter] Script with argv '(null)' finished
    [15:59:05.648] STDERR: Bitwarden v2[Script Filter] 🍺
    15:59:05 workflow.go:328: -------- Bitwarden v2/2.4.3 (AwGo/0.27.1) --------
    15:59:05 main.go:162: &main.options{Search:false, Config:false, SetConfigs:false, Auth:true, Sfa:false, Lock:false, Icons:false, Folder:false, Unlock:false, Login:false, Logout:false, Sync:false, Open:false, GetItem:false, Force:false, Totp:false, Last:false, Background:false, Id:"", Query:"", Attachment:"", Output:""}
    15:59:05 main.go:164: args=[]string{"-auth", "--", ""} => []string{""}
    15:59:05 main.go:165: (main.config) {
     AutoFetchIconCacheAge: (int) 1440,
     AutoFetchIconMaxCacheAge: (time.Duration) 24h0m0s,
     BwconfKeyword: (string) (len=9) ".bwconfig",
     BwauthKeyword: (string) (len=7) ".bwauth",
     BwKeyword: (string) (len=3) ".bw",
     BwfKeyword: (string) (len=4) ".bwf",
     BwExec: (string) (len=2) "bw",
     BwDataPath: (string) "",
     Debug: (bool) false,
     Email: (string) (len=23) "foo@fastmail.com",
     EmptyDetailResults: (bool) false,
     IconCacheAge: (int) 43200,
     IconCacheEnabled: (bool) true,
     IconMaxCacheAge: (time.Duration) 720h0m0s,
     MaxResults: (int) 1000,
     Mod1: (string) (len=3) "alt",
     Mod1Action: (string) (len=13) "username,code",
     Mod2: (string) (len=5) "shift",
     Mod2Action: (string) (len=3) "url",
     Mod3: (string) (len=4) "ctrl",
     Mod3Action: (string) (len=4) "totp",
     Mod4: (string) (len=7) "cmd,opt",
     Mod4Action: (string) (len=4) "more",
     NoModAction: (string) (len=13) "password,card",
     OutputFolder: (string) (len=34) "/Users/foo/Downloads/",
     Path: (string) (len=101) "/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/local/share/npm/bin:/usr/bin:/usr/sbin:/opt/homebrew/bin",
     ReorderingDisabled: (bool) true,
     Server: (string) "",
     Sfa: (bool) false,
     SfaMode: (int) 0,
     SkipTypes: (string) "",
     SyncCacheAge: (int) 10080,
     SyncMaxCacheAge: (time.Duration) 168h0m0s,
     TitleWithUser: (bool) true,
     TitleWithUrls: (bool) true,
     OpenLoginUrl: (bool) true
    }
    15:59:05 cli.go:303: filtering auth config "" ...
    15:59:05 feedback.go:509: Sent 4 result(s) to Alfred
    15:59:05 workflow.go:405: ------------------- 2.795916ms -------------------
    [15:59:05.652] Bitwarden v2[Script Filter] {
      "variables": {
        "AW_SESSION_ID": "G77DBL59DWUFZTQX1HU9ABVF"
      },
      "items": [
        {
          "title": "Login to Bitwarden",
          "subtitle": "↩ or ⇥ to login now",
          "valid": true,
          "icon": {
            "path": "icons/on.png"
          },
          "variables": {
            "action": "-login",
            "email": "foo@fastmail.com",
            "mapsfamode": " ",
            "sfamode": "-1",
            "type": "login"
          }
        },
        {
          "title": "Logout",
          "subtitle": "Logout from Bitwarden",
          "valid": true,
          "icon": {
            "path": "icons/off.png"
          },
          "variables": {
            "action": "-logout"
          }
        },
        {
          "title": "Unlock",
          "subtitle": "Unlock Bitwarden",
          "valid": true,
          "icon": {
            "path": "icons/on.png"
          },
          "variables": {
            "action": "-unlock",
            "email": "foo@fastmail.com",
            "type": "unlock"
          }
        },
        {
          "title": "Lock",
          "subtitle": "Lock Bitwarden",
          "valid": true,
          "icon": {
            "path": "icons/off.png"
          },
          "variables": {
            "action": "-lock"
          }
        }
      ]
    }
    [15:59:06.739] Bitwarden v2[Script Filter] Processing complete
    [15:59:06.745] Bitwarden v2[Script Filter] Passing output '' to Conditional
    [15:59:06.746] Bitwarden v2[Conditional] Processing complete
    [15:59:06.746] Bitwarden v2[Conditional] Passing output '' to Hide Alfred
    [15:59:06.747] Bitwarden v2[Hide Alfred] Processing complete
    [15:59:06.748] Bitwarden v2[Hide Alfred] Passing output '' to Run Script
    [15:59:07.438] ERROR: Bitwarden v2[Run Script] 🍺
    15:59:06 workflow.go:328: -------- Bitwarden v2/2.4.3 (AwGo/0.27.1) --------
    15:59:06 main.go:162: &main.options{Search:false, Config:false, SetConfigs:false, Auth:false, Sfa:false, Lock:false, Icons:false, Folder:false, Unlock:false, Login:false, Logout:true, Sync:false, Open:false, GetItem:false, Force:false, Totp:false, Last:false, Background:false, Id:"", Query:"", Attachment:"", Output:""}
    15:59:06 main.go:164: args=[]string{"-logout"} => []string{}
    15:59:06 main.go:165: (main.config) {
     AutoFetchIconCacheAge: (int) 1440,
     AutoFetchIconMaxCacheAge: (time.Duration) 24h0m0s,
     BwconfKeyword: (string) (len=9) ".bwconfig",
     BwauthKeyword: (string) (len=7) ".bwauth",
     BwKeyword: (string) (len=3) ".bw",
     BwfKeyword: (string) (len=4) ".bwf",
     BwExec: (string) (len=2) "bw",
     BwDataPath: (string) "",
     Debug: (bool) false,
     Email: (string) (len=23) "foo@fastmail.com",
     EmptyDetailResults: (bool) false,
     IconCacheAge: (int) 43200,
     IconCacheEnabled: (bool) true,
     IconMaxCacheAge: (time.Duration) 720h0m0s,
     MaxResults: (int) 1000,
     Mod1: (string) (len=3) "alt",
     Mod1Action: (string) (len=13) "username,code",
     Mod2: (string) (len=5) "shift",
     Mod2Action: (string) (len=3) "url",
     Mod3: (string) (len=4) "ctrl",
     Mod3Action: (string) (len=4) "totp",
     Mod4: (string) (len=7) "cmd,opt",
     Mod4Action: (string) (len=4) "more",
     NoModAction: (string) (len=13) "password,card",
     OutputFolder: (string) (len=34) "/Users/foo/Downloads/",
     Path: (string) (len=101) "/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/local/share/npm/bin:/usr/bin:/usr/sbin:/opt/homebrew/bin",
     ReorderingDisabled: (bool) true,
     Server: (string) "",
     Sfa: (bool) false,
     SfaMode: (int) 0,
     SkipTypes: (string) "",
     SyncCacheAge: (int) 10080,
     SyncMaxCacheAge: (time.Duration) 168h0m0s,
     TitleWithUser: (bool) true,
     TitleWithUrls: (bool) true,
     OpenLoginUrl: (bool) true
    }
    15:59:06 bitwarden.go:544: Clearing items cache.
    15:59:06 files.go:49: deleted contents of "/Users/foo/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/com.lisowski-development.alfred.bitwarden"
    15:59:07 utils.go:30: [ERROR] ==>  [You are not logged in.]
    15:59:07 utils.go:42: [ERROR] ==> Exit code 1. Logout of Bitwarden failed. Err: You are not logged in.
    15:59:07 workflow.go:376: [ERROR] Logout of Bitwarden failed. Error:
    You are not logged in.
    15:59:07 workflow.go:379: Get help at https://github.com/blacs30/bitwarden-alfred-workflow/issues
    15:59:07 workflow.go:402: ------------------ 675.44425ms -------------------
    [15:59:07.459] Bitwarden v2[Run Script] Processing complete
    [15:59:07.460] Bitwarden v2[Run Script] Passing output 'Logout of Bitwarden failed. Error:
    You are not logged in.' to Post Notification

     

  4. On 1/17/2022 at 3:17 PM, blacs30 said:

     

    Others seem to run the workflow fine on macOS 12.

    - Please update to the latest workflow if you haven't already (https://github.com/blacs30/bitwarden-alfred-workflow/releases/tag/2.4.1)

    - remove the one entry in keychain access

     

    - use the Bitwarden CLI in the terminal to check that the login works fine (try OTP or email as second factor first)

    - then try to use the Alfred Bitwarden again 

     

    I am having this same problem (on Monterey, with v2.4.3 of the workflow, the latest CLI, Alfred granted full access). I seem to login successfully the first time, but when I go to do anything else such as sync, I have to log in again, and get stuck in a loop. Like @dhahn, I only have the one Keychain entry, for application password.

     

    Additionally, each time I try to log in after the first time, I get the following error:

    [14:01:55.747] Bitwarden v2[Script Filter] Processing complete
    [14:01:55.748] Bitwarden v2[Script Filter] Passing output '' to Conditional
    [14:01:55.749] Bitwarden v2[Conditional] Processing complete
    [14:01:55.750] Bitwarden v2[Conditional] Passing output '' to Run Script
    [14:02:07.612] STDERR: Bitwarden v2[Run Script] Error: security: SecKeychainItemCreateFromContent (<default>): The specified item already exists in the keychain.
    [14:02:07.619] Bitwarden v2[Run Script] Processing complete
    [14:02:07.620] Bitwarden v2[Run Script] Passing output '' to Post Notification

     

     

  5. I hadn't used this workflow for a few months, but I tried to today, and encountered a problem with becite, betitle, etc, which do not seem to be connecting with my Bookends database.

     

    The log shows this result: "[14:07:30.219] ERROR: Bookends Tools[Script Filter] Code 1: 47:65: execution error: Not authorised to send Apple events to Bookends. (-1743)"

     

    I'm running Bookends 14.0.5, and macOS 12.2.1.

     

    Thanks so much for the workflow: it was of great use during my PhD!

     

    Update: I have resolved this. Sorry for any time wasted! I thought I had enabled all necessary Security & Privacy preferences, but it turns out I also needed to enable Automation preferences that permit Alfred to control Bookends. These latest versions of macOS have really made things a bit more complex.

  6. 10 hours ago, deanishe said:

     

    Yes, but not well…

    Could you clarify something for me about it (I've been trying it unsuccessfully). When modifying COPY_CITEKEY_MOD in the Workflow Environment Variables, how do I enter cmd, alt, fn, and so on, into the Value section? Is there a key combination that will enter the value I want, do I just type the value in, is some special formatting required?

     

    Thanks!

×
×
  • Create New...