From 5ba56e1befde46c19e334315f3de9d053611febe Mon Sep 17 00:00:00 2001 From: IronTony Date: Thu, 2 Apr 2026 21:48:50 +0200 Subject: [PATCH 1/2] chore: enriched the documentation --- packages/apple-signin/README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/apple-signin/README.md b/packages/apple-signin/README.md index f375217..7a21574 100644 --- a/packages/apple-signin/README.md +++ b/packages/apple-signin/README.md @@ -305,6 +305,20 @@ if (Platform.OS === 'ios') { - **Credential State**: On iOS, you can check if the user's Apple ID is still authorized via `getCredentialState()`. This is used during token refresh instead of silent re-authentication. - **No Client-Side Refresh**: Apple does not support client-side token refresh. When the identity token expires, the user must re-authenticate. +## Platform Notes + +### Renewal & Maintenance + +- Apple Sign-In **keys do not expire**. Once generated, they remain valid indefinitely. +- Your Services ID is tied to your Apple Developer Program membership, which renews annually. If your membership lapses, Sign in with Apple stops working for all your apps. +- There are no certificates to rotate specifically for Sign in with Apple (unlike APNs push certificates). + +### iOS Version Notes + +- Sign in with Apple requires **iOS 13+**. The Expo native module targets iOS 13 by default via the `AuthenticationServices` framework. +- On **iOS 15+**, Apple added support for detecting credential state changes (revoked, transferred) more reliably. +- The `ASAuthorizationAppleIDButton` (used by `AppleSignInButton` on native) automatically adapts its appearance to the system iOS version. + ## API Reference ### Types From 67f2ebafe751017776f9472b2bea1517f0868da3 Mon Sep 17 00:00:00 2001 From: IronTony Date: Fri, 3 Apr 2026 15:55:26 +0200 Subject: [PATCH 2/2] docs(apple-signin): clarify key expiration and iOS version requirements in README --- packages/apple-signin/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/apple-signin/README.md b/packages/apple-signin/README.md index 7a21574..b701ace 100644 --- a/packages/apple-signin/README.md +++ b/packages/apple-signin/README.md @@ -309,15 +309,15 @@ if (Platform.OS === 'ios') { ### Renewal & Maintenance -- Apple Sign-In **keys do not expire**. Once generated, they remain valid indefinitely. +- Apple Sign-In **keys do not automatically expire**. Once generated, they remain valid until they are revoked or deleted. - Your Services ID is tied to your Apple Developer Program membership, which renews annually. If your membership lapses, Sign in with Apple stops working for all your apps. - There are no certificates to rotate specifically for Sign in with Apple (unlike APNs push certificates). ### iOS Version Notes -- Sign in with Apple requires **iOS 13+**. The Expo native module targets iOS 13 by default via the `AuthenticationServices` framework. -- On **iOS 15+**, Apple added support for detecting credential state changes (revoked, transferred) more reliably. -- The `ASAuthorizationAppleIDButton` (used by `AppleSignInButton` on native) automatically adapts its appearance to the system iOS version. +- Sign in with Apple is available on Apple platforms starting with **iOS 13+**, but this library currently requires **iOS 15.1+** on iOS because its CocoaPods deployment target is set to 15.1. +- On **iOS 15+**, Apple provides more reliable support for detecting credential state changes (for example, revoked or transferred credentials) via `getCredentialState()`. +- On native, `AppleSignInButton` is a custom React Native button styled for Sign in with Apple; its appearance is defined by this package rather than by Apple's `ASAuthorizationAppleIDButton`. ## API Reference