<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[Feature request] Support multiple Apple client IDs (aud values) for AuthenticateApple]]></title><description><![CDATA[<p dir="auto">Hi brainCloud team,</p>
<p dir="auto">We're shipping a cross-platform game (iOS + Android) with Sign in with Apple, and we've hit a limitation with AuthenticateApple.</p>
<p dir="auto">Our setup:</p>
<ul>
<li>iOS uses the native Sign in with Apple SDK → the identity token's <code>aud</code> claim is our App/Bundle ID (e.g. com.mygame.app)</li>
<li>Android has no native Apple SDK, so it uses Apple's web OAuth flow → the identity token's <code>aud</code> is our Services ID (e.g. com.mygame.app.signin)</li>
</ul>
<p dir="auto">Apple requires these to be two different identifiers — a Services ID cannot be the same string as the App ID. And Apple guarantees the same <code>sub</code> (user ID) across both, since the Services ID is grouped under the same Primary App ID.</p>
<p dir="auto">The problem:<br />
AuthenticateApple validates the token's <code>aud</code> against the single Apple client ID configured in the portal. With only one value allowed, one platform always fails with reason code 40307. So it's currently impossible to support Sign in with Apple on both iOS (native) and Android (web) against the same brainCloud app using the standard Apple authentication.</p>
<p dir="auto">Our current workaround:<br />
We moved both platforms to AuthenticateExternal with a cloud code script that fully validates the token (RS256 signature against Apple's JWKS, iss/exp/sub checks) and accepts both <code>aud</code> values. It works, but it means giving up the built-in Apple identity type and maintaining our own validation script.</p>
<p dir="auto">An important caveat with this workaround:<br />
External identities and Apple identities are separate identity types in brainCloud. This means the External Auth workaround is only viable for games that have NOT yet shipped Apple login — existing players who signed up via AuthenticateApple would end up on different profiles when switching to AuthenticateExternal, even though their Apple <code>sub</code> is identical. For a live service with existing Apple-authenticated users, migrating requires attaching a second identity to every active player and maintaining both auth paths during the transition — which makes this workaround effectively impractical for already-launched games. Native multi-client-id support in AuthenticateApple would solve this cleanly.</p>
<p dir="auto">Feature request:<br />
Please allow the Apple configuration in the portal to accept multiple client IDs (e.g. a comma-separated list, or separate fields for Bundle ID and Services ID), and have AuthenticateApple validate <code>aud</code> against that list. This is a standard requirement for any cross-platform game supporting Sign in with Apple on Android — every backend that validates <code>aud</code> (Firebase, Supabase, etc.) supports a list of accepted client IDs for exactly this reason.</p>
<p dir="auto">Is this something that could be added to the roadmap? And is there any existing way to achieve this with AuthenticateApple that we've missed?</p>
<p dir="auto">Thanks!</p>
]]></description><link>https://forums.getbraincloud.com/topic/377/feature-request-support-multiple-apple-client-ids-aud-values-for-authenticateapple</link><generator>RSS for Node</generator><lastBuildDate>Wed, 05 Aug 2026 09:37:47 GMT</lastBuildDate><atom:link href="https://forums.getbraincloud.com/topic/377.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 04 Aug 2026 08:51:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Feature request] Support multiple Apple client IDs (aud values) for AuthenticateApple on Tue, 04 Aug 2026 16:06:25 GMT]]></title><description><![CDATA[<p dir="auto">Added case 14474</p>
]]></description><link>https://forums.getbraincloud.com/post/1377</link><guid isPermaLink="true">https://forums.getbraincloud.com/post/1377</guid><dc:creator><![CDATA[johnh]]></dc:creator><pubDate>Tue, 04 Aug 2026 16:06:25 GMT</pubDate></item><item><title><![CDATA[Reply to [Feature request] Support multiple Apple client IDs (aud values) for AuthenticateApple on Tue, 04 Aug 2026 15:02:49 GMT]]></title><description><![CDATA[<p dir="auto">Thanks for the detailed report, you haven't missed anything, the current AuthenticateApple implementation only accepts a single Apple client ID. It performs a strict equality check on the token's <code>aud</code> claim, so there's no built-in way to configure multiple valid client IDs.  The implementation may be accepting a list of client IDs and checking membership instead of a single value. I'll forward this request to the team for consideration.</p>
]]></description><link>https://forums.getbraincloud.com/post/1376</link><guid isPermaLink="true">https://forums.getbraincloud.com/post/1376</guid><dc:creator><![CDATA[JasonL]]></dc:creator><pubDate>Tue, 04 Aug 2026 15:02:49 GMT</pubDate></item></channel></rss>