singe / tidcli

A simple touchID prompt'er for use in shell scripts.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Outrageously simple touch ID command line prompter

Touch ID Command Line Interface (tidcli) simply pops a Touch ID prompt.

It returns an exit code of 0 on success and 1 on failure.

You can use this to embed additional authentication steps into your shell script or the like.

image

Usage

tidcli [optional prompt context]

Optional custom prompt information can be passed as the first argument. This is limited to 100 characters.

An example of using it in a bash shell script to exit if there is an authentication failure is:

tidcli "EXAMPLE SCRIPT"
if [[ "$?" -ne 0 ]]; then
  exit 1
fi

Installing

Download the appropriate binary from the releases page.

Building

Build a release binary with swift by running:

swift build -c release

The resulting binary will be in the .build/release directory as tidcli.

Notes

Password fallback not allowed

The Touch ID prompt will contain a "Use Password" button, but only biometric authentication is allowed, so clicking it will result in an authentication failure. If you wanted to change this you could use .deviceOwnerAuthentication instead of .deviceOwnerAuthenticationWithBiometrics.

Output on standard error

Success and failure messages are output to standard error.

Sandbox Execution

A macOS sandbox profile is included if you're so inclined. You can execute it with sandbox-exec and just need to pass the full path of where the binary is located. For example:

sandbox-exec -D_PWD="$PWD/tidcli" -f tidcli.sb tidcli

About

A simple touchID prompt'er for use in shell scripts.

License:GNU General Public License v3.0


Languages

Language:Swift 100.0%