Inconsistent behavior of providers using GoogleProvider() and AppleProvider()
维护者通常 2 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 领域
- authentication, mobile
调研方向
首先使用 SignInScreen、GoogleProvider(clientId:) 和 AppleProvider() 复现所描述的流程:先在一台设备上匿名登录,然后在另一台设备上使用相同的凭据。比较 provider 在关联和登录期间的行为,包括 credentials-already-in-use 错误;当 Google 能够像 Apple 一样一致地处理现有凭据,而不会错误地尝试将其关联到新的匿名账户时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
Is there an existing issue for this?
- I have searched the existing issues and found no duplicates.
What plugin is this bug for?
Firebase UI OAuth Google, Firebase UI OAuth Apple
What platform(s) does this bug affect?
Android, iOS
List of dependencies used.
flutter pub deps -s list
firebase_core: ^2.10.0 firebase_auth: 4.12.1 firebase_ui_auth: ^1.1.8 firebase_ui_oauth: ^1.1.8 firebase_ui_oauth_google: ^1.0.15 firebase_ui_oauth_apple: ^1.0.15
Steps to reproduce
Setup the standard SignInScreen of FirebaseUIAuth with successfully configured providers GoogleProvider(clientId:) and AppleProvider() and login the existing user with the signInAnonymously method beforehand.
On the SignInScreen, using the "Sign in with Apple" option, the account is permanently created in the user management and successfully upgraded / linked to the provider. Logging in on another device after that (while being again anonymously logged in before, too) the anonymous login is overwritten in favor of the recently created account, linked with the apple provider.
However, trying the same using the GoogleProvider, the behavior seems to differ and I hope someone can either explain this behavior to me or look into the issue.
Expected Behavior
It is expected that the GoogleProvider works exactly the same as the AppleProvider in case of Sign-up, linking and especially signing in again on a different device using the same credentials.
Actual Behavior
Signing in with the GoogleProvider on another device leads to an "credentials-already-in-use" error of the framework, indicating that the credentials belong to another account and therefore cannot be linked to another (anonymous) user.
In contrast to AppleProvider, the GoogleProvider doesn't seem to recognize that the user tries to sign-in with existing credentials, so it seems impossible to sign-in with GoogleProvider like it is with AppleProvider.
Same holds true if you log out of your existing account, being automatically logged in anonymously again immediately by the app, then trying to sign-in using the same credentials used some minutes ago.
Additional Information
No response
- 主要语言
- Dart
- 星标
- 152
- 派生
- 141
- 平均合并
- 2 天 10 小时
- 30 天内合并 PR
- 12
环境准备
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
firebase/FirebaseUI-Flutter 的其他 Issue
-
auth blocked: customer response enhancement Keep Open
难度 3/5 1-2 天 新手友好度 35/100
firebase/FirebaseUI-Flutter#418 · 7 条评论 · 3 个 reaction ·
维护者通常 2 天内回复
-
auth Keep Open Needs Attention
难度 4/5 3-5 天 新手友好度 20/100
firebase/FirebaseUI-Flutter#351 · 3 条评论 · 1 个 reaction ·
维护者通常 2 天内回复
-
enhancement Keep Open storage
难度 4/5 3-5 天 新手友好度 38/100
firebase/FirebaseUI-Flutter#290 · 2 条评论 ·
维护者通常 2 天内回复
-
auth bug Keep Open Needs Attention
难度 4/5 3-5 天 新手友好度 25/100
firebase/FirebaseUI-Flutter#261 · 6 条评论 · 3 个 reaction ·
维护者通常 2 天内回复
-
enhancement Keep Open oauth
难度 4/5 3-5 天 新手友好度 35/100
firebase/FirebaseUI-Flutter#247 · 3 条评论 · 4 个 reaction ·
维护者通常 2 天内回复
查看 firebase/FirebaseUI-Flutter 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 85/100
genkit-ai/genkit-dart#507 ·
维护者通常 4 天内回复
-
infra: device lab team-android
难度 2/5 1-2 天 新手友好度 68/100
维护者通常 1 天内回复
-
component: genui P2 status: first-line-handled type: bug
难度 1/5 1 小时以内 新手友好度 90/100
a2ui-project/a2ui#2854 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
google/webcrypto.dart#419 ·
维护者通常 4 天内回复
-
难度 2/5 1-3 小时 新手友好度 88/100
fluttercommunity/chewie#971 ·