okta/okta-oidc-ios

Sign In With Apple causes App Store Review Rejection

hschillingupgrade opened this issue · 4 comments

Describe the bug?

We built our app using the Okta OIDC SDK. We support Google, Facebook, and Apple sign in, in addition to username/password. Everything functions. However, when submitted to Apple, they rejected it due to the Sign In With Apple login being handled within a browser. Specifically, when the app attempts to sign in when the device is not associated with an iCloud account, the browser navigates to a page to sign in or create an iCloud account. We've gone back and forth with Apple on this and although it seems to be a new rule (or newly enforced) they are unwilling to bend on this. Can someone at Okta please correct the inappropriate use of Sign In With Apple within the SDK?

What is expected to happen?

On iOS devices, when a user attempts to sign in with Apple on an iOS device, the app should use the native UI instead of the browser.

(See Steps to Reproduce for screenshot)

What is the actual behavior?

When the user attempts to sign in with apple, the SDK opens a browser. Then, if the device is associated with an Apple ID the browser launches the native sign in. If the device does not have an Apple ID associate with it, the browser goes to the Sign In with Apple page in the browser.

(See Steps to Reproduce for screenshot)

Reproduction Steps?

With the device not signed into iCloud, run this code.

oidcClient.signInWithBrowser(from: presenter, additionalParameters: ["idp": "IDP for Apple"]) { stateManager, error in ...}

Undesirable result.

Screenshot-0525-145332

Intended Result:
IMG_0004

Additional Information?

No response

SDK Version(s)

Okta OIDC 3.11.2

Build Information

No response

Thank you for this. We're discussing this issue internally, and will get back when we know more.

Any updates?

Unfortunately we don't have any updates at this time. Is this issue currently a blocker, or do you have a workaround in the short term?

Any updates? Is the Sign In with Apple still effectively not supported for IOS Native app?