Skip to content
A WordPress plugin for Sign In with Apple
Branch: master
Clone or download
Latest commit 24b9c85 Jun 9, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Style it as a button Jun 9, 2019
.editorconfig Plugin setup Jun 4, 2019
.gitignore Ignore the dev log Jun 4, 2019
Vagrantfile Basic dev environment Jun 4, 2019
composer.json Match the Apple wording Jun 9, 2019
composer.lock Parser for JWT tokens Jun 9, 2019
docker-compose.yml These need to be repeated Jun 4, 2019
phpcs.xml Plugin setup Jun 4, 2019
plugin.php Not only JS Jun 9, 2019 Better formatting Jun 9, 2019

Sign In with Apple for WordPress

A WordPress plugin to configure and enable Sign In with Apple for existing WordPress users.

Important: This pugin is currently work in progress! Please don't use it on production sites.


  • Apple Developer Account ($99 per year) for registering your site with Apple.

  • Configured Sign In with Apple for the web -- new or existing App ID for iOS or macOS with "Sign In with Apple" capability enabled and a Service ID (such as com.yourdomain.signinwithappleplugin) with "Sign In with Apple" service enabled.

  • Specify the Return URL as your WordPress login URL such as


The plugin must be installed as a Composer dependency since it uses a third party package for parsing JSON Web Token (JWT) responses:

composer require kasparsd/sign-in-with-apple


  1. Visit the site options at and specify your Service ID (such as com.yourdomain.applelogin) in siwa_plugin_service_id.

  2. Visit your WordPress profile and click on the "Sign In with Apple" button to associate your WordPress user with your Apple ID.

  3. Use the "Log In with Apple" button at the bottom of the WordPress login page to log-in using your Apple ID.

To Do

  • Add id_token validation based on the Apple public key.
  • Enable new user signup for WooCommerce customers.

Known Issues

  • Apple currently doesn't include user name and email in their JWT id_token. The only available field is the user ID in the sub field.


Created by Kaspars Dambis.

You can’t perform that action at this time.