AuthServer
Apple OIDC
Configure Sign in with Apple for SqlOS AuthServer.
Sign in with Apple requires an Apple Developer account and a publicly reachable HTTPS callback. Apple does not accept localhost, an IP address, or an http:// Return URL for a web Services ID. Use a staging domain or HTTPS development tunnel; keep its hostname stable while you configure the provider.
auth.example.comhttps://auth.example.com/sqlos/auth/oidc/callback.p8 private key. Record the Apple Team ID and Key ID; Apple does not let you download the key twice.clientSecret.jq -n --rawfile privateKey ./AuthKey_YOUR_KEY_ID.p8 '{
providerType: "apple",
displayName: "Apple",
clientId: "YOUR_APPLE_SERVICES_ID",
allowedCallbackUris: [
"https://auth.example.com/sqlos/auth/oidc/callback"
],
appleTeamId: "YOUR_APPLE_TEAM_ID",
appleKeyId: "YOUR_APPLE_KEY_ID",
applePrivateKeyPem: $privateKey
}' | curl --fail --silent --show-error \
-X POST http://localhost:5062/sqlos/admin/auth/api/oidc-connections \
-b "$SQLOS_DASHBOARD_COOKIE_JAR" \
-H 'Content-Type: application/json' \
--data-binary @-curl -X POST http://localhost:5062/sqlos/admin/auth/api/oidc-connections/{id}/enable \
-b "$SQLOS_DASHBOARD_COOKIE_JAR"Apple can include a user form field only on the first authorization. SqlOS treats that browser-posted object as an optional display-name hint, never as identity evidence:
sub, email, and email_verified come from the signed, validated Apple ID token;user JSON is ignored;name.firstName and name.lastName values can fill a missing display name.Persist the display name after first login if your application needs it later. Apple may not send the callback user object again, while the signed identity remains stable through the ID token.
See OIDC Social Login for the complete auth flow.
The .p8 file and the dashboard cookie jar both contain sensitive material. Keep them out of source control and shell history, and delete temporary copies after use. See Authenticate operator API calls, Apple's web authorization documentation, and OIDC Social Login.