Code Monkey home page Code Monkey logo

Comments (5)

troyanov avatar troyanov commented on June 1, 2024

I just hit the same issue and was able to add a fallback scenario when pinentry-mac is called.

It worked for me and in case you want to try it out please check #21

# build a new binary with fallback support
go build -o pinentry-touchid-with-fallback main.go

Don't forget to set a proper path to a new binary in ~/.gnupg/gpg-agent.conf and execute gpgconf --kill gpg-agent

from pinentry-touchid.

lgarron avatar lgarron commented on June 1, 2024

Any chance of a workaround or a config option to sensor.IsTouchIDAvailable() to force a Touch ID prompt even when the lid is closed?

I have an M1 MBP and use Touch ID with the lid closed (using the new external keyboard with Touch ID) almost all the time.
A password fallback kind of negates the whole point of using pinentry-touchid for me. 😔

from pinentry-touchid.

jorgelbg avatar jorgelbg commented on June 1, 2024

@lgarron Yep, this is definitively a use case that I want to support.

I haven't been able to find any API changes required for supporting the Magic Keyboard with Touch ID so far. We do not execute any additional checks beyond testing if the LAPolicyDeviceOwnerAuthenticationWithBiometrics can be evaluated. My expectation/understanding was that the external Touch ID would behave exactly as the built in one (which doesn't seem to be the case 🤔).

from pinentry-touchid.

troyanov avatar troyanov commented on June 1, 2024

Oh, I wanted to check what Apple would say about it and seems that @jorgelbg already did it :)
https://developer.apple.com/forums/thread/711838

Seems to be a bug related to LAContext API

from pinentry-touchid.

jorgelbg avatar jorgelbg commented on June 1, 2024

I finally got my hands on an external keyboard with Touch ID for testing this properly. Sadly I'm not able to reproduce the issue:

pinentry-external-keyboard.mp4

as shown in the video, I'm using the command:

$ ioreg -r -k AppleClamshellState -d 4 | grep AppleClamshellState  | head -1

to verify that the lid is actually closed, after that calling:

$ echo 1234 | /usr/local/bin/gpg -as -

as a simple test case successfully call pinentry-touchid and the unlocking works via the external Touch ID sensor.

For reference I'm testing on a 16" MacBook Pro with an Apple M1 Pro running macOS Monterey v12.5 (21G72). I'm also running the latest version of pinentry-touchid installed via home-brew (which still contains the same call to sensor.IsTouchIDAvailable() with the fallback to pinentry-mac).

@lgarron can you provide any additional details about your issue or give it a try to the latest version?

from pinentry-touchid.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.