5.0.0-alpha.3 • Published 8 months ago

@concepta/nestjs-auth-apple v5.0.0-alpha.3

Weekly downloads
-
License
BSD-3-Clause
Repository
-
Last release
8 months ago

Rockets NestJS Apple Federated Authentication

Authenticate requests using Apple OAuth2

Project

NPM Latest NPM Downloads GH Last Commit GH Contrib NestJS Dep

Installation

yarn add @concepta/nestjs-auth-apple

Prerequisites

Before using this package, ensure you have:

  1. Enrolled in the Apple Developer Program.
  2. Familiarized yourself with Apple's "Sign in with Apple" documentation.
  3. Created an App ID and Service ID in your Apple Developer Account.
  4. Generated a private key for your Service ID in your Apple Developer Account.

Setup

For detailed setup instructions, refer to the following resources:

Environment Variables

To configure Apple authentication, you need to set the following environment variables:

  • APPLE_CLIENT_ID: Your Apple Service ID (also known as the Services ID in Apple's Developer Portal). Typically in reverse domain name notation. Example: com.conceptatech.rockets

  • APPLE_CALLBACK_URL: The OAuth Redirect URI for Apple authentication. Example: /auth/apple/callback

  • APPLE_SCOPE: The requested scope(s) for Apple Sign In. Example: 'email'

  • APPLE_TEAM_ID: Your Apple Developer Team ID. Found in the top right corner of the Apple Developer account page. Example: 'A1B2C3D4E5'

  • APPLE_KEY_ID: The identifier for the private key on the Apple Developer Account page. Example: 'ABCDEF1234'

  • APPLE_PRIVATE_KEY_LOCATION: The file path to your Apple private key (.p8 file). Example: './src/config/AuthKey.p8'

  • APPLE_PRIVATE_KEY_STRING: The contents of your Apple private key as a string. Use this instead of APPLE_PRIVATE_KEY_LOCATION if you prefer to store the key directly in the environment. Example: '-----BEGIN PRIVATE KEY-----\nMIGTAgEA...\n-----END PRIVATE KEY-----'

Example .env file: