fix(ui/auth): display correct Apple sign-in callback URL (#11439)

# Which Problems Are Solved

- Apple Sign-In uses a Form Post method to return the authorization
response, which ZITADEL handles at a specific endpoint ending in /form
for the login v1.
- The Console previously displayed the standard callback URL (without
`/form`), causing confusion and configuration errors..


# How the Problems Are Solved

- **Console**: Updated ProviderNextService to accept a suffix string . 
- **Console**: Updated ProviderAppleComponent to append the suffix to
the urls.


# Additional Changes
- Updated `docs/docs/guides/integrate/identity-providers/apple.mdx` to
explicitly state that the callback URL end with `/form`
- Updated `docs/docs/guides/integrate/login-ui/external-login.mdx` to
clarify the `/form` suffix requirement for Apple Sign-In in the hosted
login documentation.
# Additional Context
- fixes #11438

---------

Co-authored-by: Ramon <[email protected]>
Co-authored-by: Florian Forster <[email protected]>
This commit is contained in:
Ali Youssef Kayed
2026-03-12 10:24:48 +00:00
committed by GitHub
co-authored by Ramon Florian Forster
parent 7cdee1703f
commit cbf05dbe16
5 changed files with 17 additions and 9 deletions
@@ -72,7 +72,7 @@ export class ProviderAppleComponent {
this.service$,
);
public expandWhatNow$ = this.nextSvc.expandWhatNow(this.id$, this.activateLink$, this.justCreated$);
public copyUrls$ = this.nextSvc.callbackUrls();
public copyUrls$ = this.nextSvc.callbackUrls(true);
constructor(
private authService: GrpcAuthService,
@@ -80,12 +80,12 @@ export class ProviderNextService {
);
}
callbackUrls(): Observable<CopyUrl[]> {
callbackUrls(formPost: boolean = false): Observable<CopyUrl[]> {
return this.env.env.pipe(
map((env) => [
{
label: 'Login V1 Callback URL',
url: `${env.issuer}/ui/login/login/externalidp/callback`,
url: `${env.issuer}/ui/login/login/externalidp/callback${formPost ? '/form' : ''}`,
},
{
label: 'Login V2 Callback URL',