JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 10710
  • Score
    100M100P100Q133514F
  • License MIT

Sign in with Apple for NodeJS

Package Exports

  • apple-auth

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (apple-auth) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

 Sign in with Apple for Node.js

Follow @ananayarora

An easy-to-use Node.js library for Signing in with Apple!

Now with support for fetching the name and email!

⚠️ Important note: Apple will only provide you with the name and email ONCE which is when the user taps "Sign in with Apple" on your app the first time. Keep in mind that you have to store this in your database at this time! For every login after that, Apple will provide you with a unique ID that you can use to lookup the username in your database.

Check out the passport version of this library here:

https://github.com/ananay/passport-apple

https://npmjs.com/package/passport-apple

Setup

Begin by installing the library: npm install apple-auth

The configurations for Sign in with Apple are quite extensive so I've made an extensive SETUP.md file that you can read https://github.com/ananay/apple-auth/blob/master/SETUP.md

Example

I've created an example of how to use this library with Express! Check it out here:

https://github.com/ananay/apple-auth-example

Example live on https://apple.ananay.dev

Usage

Initialize it using the following code:

const fs = require('fs');
const AppleAuth = require('apple-auth');
const config = fs.readFileSync("./config/config");
const auth = new AppleAuth(config, './config/AuthKey.p8');

Methods:

  • auth.loginURL() - Creates the Login URL that your users will use to login to
  • auth.accessToken(grantCode) - Gets the access token from the grant code received
  • auth.refreshToken(refreshToken) - Gets the access token from a refresh token

Questions / Contributing

Feel free to open issues and pull requests. If you would like to be one of the core creators of this library, please reach out to me at i@ananayarora.com or message me on twitter @ananayarora!

Created with ❤️ by Ananay Arora