<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "signinwithapple",
  "identifier" : "/documentation/SigninwithAppleRESTAPI",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "Sign in with Apple REST API"
    ],
    "preciseIdentifier" : "SigninwithAppleRESTAPI"
  },
  "title" : "Sign in with Apple REST API"
}
-->

# Sign in with Apple REST API

Communicate between your app servers and Apple’s authentication servers.

## Overview

The [Sign in with Apple](/documentation/SigninwithApple) REST API is a web service that connects you to Apple’s authentication servers. Use this service to generate and validate the identity tokens used to verify a user’s identity.

To sign in from a web app or other platform, like Android, use [`Sign in with Apple JS`](/documentation/SigninwithAppleJS). Alternatively, to let users set up accounts and sign in to your native iOS, macOS, tvOS, and watchOS apps, use the <doc://com.apple.documentation/documentation/AuthenticationServices> framework.

## Topics

### Authentication and verification of users

  <doc://com.apple.signinwithapple/documentation/signinwithapple/authenticating-users-with-sign-in-with-apple>

  <doc://com.apple.signinwithapple/documentation/signinwithapple/receiving-a-users-identity-token>

  <doc://com.apple.signinwithapple/documentation/signinwithapple/verifying-a-user>

  <doc://com.apple.signinwithapple/documentation/signinwithapple/processing-changes-for-sign-in-with-apple-accounts>

[`Request an authorization to the Sign in with Apple server.`](/documentation/SigninwithAppleRESTAPI/Request-an-authorization-to-the-Sign-in-with-Apple-server.)

Add a Sign in with Apple authorization flow to apps and web services that can’t directly access Sign in with Apple JS.

### Generating and revoking tokens

  <doc://com.apple.documentation/documentation/AccountOrganizationalDataSharing/creating-a-client-secret>

[`Fetch Apple's public key for verifying token signature`](/documentation/SigninwithAppleRESTAPI/Fetch-Apple's-public-key-for-verifying-token-signature)

Fetch Apple’s public key to verify ID token and server notification signatures.

[`Generate and validate tokens`](/documentation/SigninwithAppleRESTAPI/Generate-and-validate-tokens)

Validate an authorization grant code delivered to your app to obtain tokens, or validate an existing refresh token.

[`Revoke tokens`](/documentation/SigninwithAppleRESTAPI/Revoke-tokens)

Invalidate the tokens and associated user authorizations for a user when they are no longer associated with your app.

### Common objects

[`JWKSet`](/documentation/SigninwithAppleRESTAPI/JWKSet)

A set of JSON Web Key objects.

[`TokenResponse`](/documentation/SigninwithAppleRESTAPI/TokenResponse)

The response token object returned on a successful request.

[`ErrorResponse`](/documentation/SigninwithAppleRESTAPI/ErrorResponse)

The error object returned after an unsuccessful request.

### Sign in with Apple buttons

[`Get a Sign in with Apple button that is center-aligned.`](/documentation/SigninwithAppleRESTAPI/Get-a-Sign-in-with-Apple-button-that-is-center-aligned.)

Generate a Sign in with Apple button with center-aligned text.

[`Get a Sign in with Apple button that is left-aligned.`](/documentation/SigninwithAppleRESTAPI/Get-a-Sign-in-with-Apple-button-that-is-left-aligned.)

Generate a Sign in with Apple button with left-aligned text.

[`Get a Sign in with Apple button that contains just the Apple logo.`](/documentation/SigninwithAppleRESTAPI/Get-a-Sign-in-with-Apple-button-that-contains-just-the-Apple-logo.)

Generate a Sign in with Apple button image containing just the Apple logo.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)