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
AKA "Sign in with Apple". This will be a requirement for launch, because Apple makes it a requirement for the App Store. (That doesn't affect the beta, which is in TestFlight and not in the App Store.)
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.
I doubt any significant number of people are actually using this feature, so there's probably no need for it in the beta period. But we'll see if we hear feedback asking for it. Indeed I don't think we've heard from anyone wanting to use it. But now that launch time is getting close, we'll need to do this sometime soon.
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.
There are two parts to this feature:
having the web flow work, on Android in particular;
having the native iOS flow work.
I believe the web flow already works, but we'll need to test it manually to confirm.
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:
AKA "Sign in with Apple". This will be a requirement for launch, because Apple makes it a requirement for the App Store. (That doesn't affect the beta, which is in TestFlight and not in the App Store.)
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.
I doubt any significant number of people are actually using this feature, so there's probably no need for it in the beta period. But we'll see if we hear feedback asking for it.Indeed I don't think we've heard from anyone wanting to use it. But now that launch time is getting close, we'll need to do this sometime soon.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.
There are two parts to this feature:
I believe the web flow already works, but we'll need to test it manually to confirm.
Then for the native iOS flow, 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
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: