Skip to content

PAM plugin module that allows the Apple Watch to be used for authentication (MODIFIED to only build ARM binary)

License

Notifications You must be signed in to change notification settings

tsdevau/pam_watchid

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PAM WatchID

A PAM plugin for authenticating using:

  • kLAPolicyDeviceOwnerAuthenticationWithBiometricsOrWatch API in macOS 10.15
  • kLAPolicyDeviceOwnerAuthenticationWithBiometricsOrCompanion API in macOS 15 or later.

Prerequisites

  • The most up to date version of either Xcode or the Xcode command line tools (CLT) for your version of macOS. This includes all of the tools needed to build the module, including swiftc, make, and git. If you do not yet have either installed, you should be prompted automatically to install teh CLT when you first try to follow the install instructions. You can also install the CLT manually with the following command:
xcode-select --install

Installation

Quick Install (Recommended)

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/tsdevau/pam_watchid/HEAD/install.sh)"

Tip

You can add the --force flag to the install command to reinstall the library if it already exists.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/tsdevau/pam_watchid/HEAD/install.sh)" --force

Manual

  1. Run inside a cloned copy of the repo:
make install
  1. Modify the sudo pam config to include the pam_watchid.so module. Using the following line, follow the steps according to your version of macOS.
auth sufficient pam_watchid.so
  • On macOS 14 and later: Create/edit /etc/pam.d/sudo_local to include it in the list of modules, in order of execution. If you are unsure of the order, place it on the first line.
  • On macOS 13 and earlier: Edit /etc/pam.d/sudo to include it as the first line.

Important

Note that you might have other auth statements, don't remove them.

About

PAM plugin module that allows the Apple Watch to be used for authentication (MODIFIED to only build ARM binary)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 68.0%
  • Shell 25.0%
  • Makefile 7.0%