You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After #462, the app will support using Apple auth, aka "Sign in with Apple", to log into Zulip.
The initial version of that will mean going through the web-based flow. That's the only flow that's available in any case on Android, and it's a perfectly reasonable UX; it's the same kind of UX as when people log in via GitHub, or Google, or any other form of SSO.
But on iOS, there's an alternate flow for "Sign in with Apple" which uses native UI provided by the system, and it'd be nice to use that instead. This issue is for doing that.
Implementation
Because this issue is closely tied to our interaction with Apple, it will need to be done by a member of the core team.
Upstream docs here: https://developer.apple.com/sign-in-with-apple/
but I hope we can complete this feature without (re-)reading those in any detail — instead we can crib from the work we did back in 2020, when we read up on this closely in order to implement it the first time.
That implementation uses a library from Expo, in the RN ecosystem, namely expo-apple-authentication, to do much of the work. For Flutter, @chrisbobbe found at #36 (comment) that there's a "Flutter Favorite" plugin for it: package:sign_in_with_apple. So let's try using that.
Key points appear in particular commits from the legacy app's implementation:
the Apple "entitlement" for the feature, in zulip/zulip-mobile@c7d982e (the rest of that commit won't apply)
zulip/zulip-mobile@8d056ed (some information from studying Apple docs, filling a gap in that Expo library, in case the same info is needed with the Flutter-based library we'll try)
Testing
An important part of the work on this issue will be to test it end to end. The only practical way to do that is manually: fire up the app with your draft implementation of the feature, and try using it.
From when we originally implemented this feature in the server and the legacy mobile app, in 2020 when Apple's mandate of it took effect: Support "Sign In with Apple" auth zulip#14168 Support "Sign In with Apple" auth [iOS] zulip-mobile#3964
Those have a lot of links to Apple docs and other background information. (But again, I hope we can skip reading or re-reading most of that — instead borrow from the work we did in 2020.)
The text was updated successfully, but these errors were encountered:
After #462, the app will support using Apple auth, aka "Sign in with Apple", to log into Zulip.
The initial version of that will mean going through the web-based flow. That's the only flow that's available in any case on Android, and it's a perfectly reasonable UX; it's the same kind of UX as when people log in via GitHub, or Google, or any other form of SSO.
But on iOS, there's an alternate flow for "Sign in with Apple" which uses native UI provided by the system, and it'd be nice to use that instead. This issue is for doing that.
Implementation
Because this issue is closely tied to our interaction with Apple, it will need to be done by a member of the core team.
Upstream docs here:
https://developer.apple.com/sign-in-with-apple/
but I hope we can complete this feature without (re-)reading those in any detail — instead we can crib from the work we did back in 2020, when we read up on this closely in order to implement it the first time.
We'll follow the example of the legacy app. See the implementation there, from 2020:
https://github.com/zulip/zulip-mobile/pull/4034/files
That implementation uses a library from Expo, in the RN ecosystem, namely
expo-apple-authentication
, to do much of the work. For Flutter, @chrisbobbe found at #36 (comment) that there's a "Flutter Favorite" plugin for it: package:sign_in_with_apple. So let's try using that.Key points appear in particular commits from the legacy app's implementation:
Testing
An important part of the work on this issue will be to test it end to end. The only practical way to do that is manually: fire up the app with your draft implementation of the feature, and try using it.
For instructions on how to do that, see zulip/zulip-mobile@c19cbe2, or perhaps more readably:
https://github.com/zulip/zulip-mobile/blob/main/docs/howto/ios-tips.md#sign-in-with-apple
See also this 2025 thread which has some updates to those instructions:
#mobile-dev-help > Enable "Sign in with Apple" for Flutter App
Related issues
Support "Sign In with Apple" auth zulip#14168
Support "Sign In with Apple" auth [iOS] zulip-mobile#3964
Those have a lot of links to Apple docs and other background information. (But again, I hope we can skip reading or re-reading most of that — instead borrow from the work we did in 2020.)
The text was updated successfully, but these errors were encountered: