Comments (2)
Hey @m-j-g,
I think the simplest way to make that work would be without Apples JS SDK (https://developer.apple.com/documentation/sign_in_with_apple/sign_in_with_apple_js), and just render the button in Flutter and then use the same URL-building logic as we do on Android:
On click of the button you would open that URL (easiest again probably redirect of the current page, a better experience might be a pop-up/new tab, so the main app doesn't have to reload upon return), and then set a route on your app as the redirect URL.
The redirect URL would need to be able to handle the POST that Apple is sending to your servers.
You can then either handle that directly on the server (and then for example pass down a cookie and the SPA entry page), or somehow pass received POST data to the client, so it would call the same API than the native apps do.
As Apple is always redirecting through the redirect URL, I don't yet know how to make that really nice from a client API perspective (so that the same simple method could be called on all stacks).
Maybe the pop-up / new tab approach can be made to work with the final redirect URL using postMessage to pass the data back to the Flutter app.
Let me know if that helps.
We would love to add nice web integration into this package as well :)
from dart_packages.
@tp Really appreciate you taking the time to outline that. I think I understand how this all fits together now, I just need to dig in and start working through it.
from dart_packages.
Related Issues (20)
- [SIGN_IN_WITH_APPLE]"Cannot Complete Request" Error after Clicking "Continue", Flutter Web HOT 1
- <data> tag failed HOT 3
- SSO with Apple in Flutter web not working
- SSO Apple sing in with firebase show Error Continue button not working , Flutter Web
- Apple delete account HOT 1
- sign_in_with_apple ^5.0.0 is forbidden HOT 1
- sign_in_with_apple: Migrate to `package:web` to support WASM HOT 6
- sign_in_with_apple: getCredentialState always returns authorized HOT 3
- Fix deprecation warnings
- Update dependencies (js) in sign_in_with_apple_web HOT 1
- iOS - Apple login not getting correct email and after successful login nothing happens HOT 2
- sign_in_with_apple web: TypeError when the sign in flow completes in version 6.0.0, works in 5.0.0 HOT 7
- I hope to add an option to remove Android dependencies, as Apple login is generally not needed on Android devices. HOT 4
- Add iOS privacy manifests HOT 4
- [sign_in_with_apple] Add privacy manifest file for iOS HOT 1
- Cannot find symbol ... sign_in_with_apple.SignInWithApplePlugin() HOT 6
- Facing issue in getting name in apple signin. HOT 9
- The Android Gradle plugin supports only Kotlin Gradle plugin version 1.5.20 and higher. HOT 6
- userIdentifier is null on web HOT 4
- Remove references to deprecated v1 Android embedding HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dart_packages.