问题描述
我正在尝试设置Flutter sign_in_with_apple软件包,但在Android方面遇到问题。
到目前为止,在包裹README之后写了一封信:
- 设置glitch.me服务器。服务器已启动并在
https://MYSERVER.glitch.me/callbacks/sign_in_with_apple
进行监听,我添加了一些控制台日志记录以确保我知道何时按下服务器。 - 在Apple开发人员控制台上设置appid和serviceid。服务标识符为
com.company.foobar.dev.signin
- 在服务配置中添加了故障回调https://MYSERVER.glitch.me/callbacks/sign_in_with_apple作为返回URL。
- 将活动块从自述文件复制到我的android清单中。注意:我不知道如何设置名称。保留它指向程序包还是将其更改为我的应用程序ID?当前是
android:name="com.aboutyou.dart_packages.sign_in_with_apple.SignInWithAppleCallback"
- 将此块添加到我的Flutter服务中:
"https://MYSERVER.glitch.me/callbacks/sign_in_with_apple";
final appleIdCredential = await SignInWithApple.getAppleIDCredential(
scopes: [
AppleIDAuthorizationScopes.email,AppleIDAuthorizationScopes.fullName,],webAuthenticationoptions: WebAuthenticationoptions(
clientId: "com.company.foobar.dev.signin",redirectUri: Uri.parse(redirectURL)));
不幸的是,在第5步中对SignInWithApple.getAppleIDCredential
的调用引发了异常,并且我看到invalid_request无效的Web重定向URL。故障服务器永远都不会被击中,这使我认为,即使我搞砸了步骤4(android清单中的意图名称),该问题也很可能在苹果开发人员控制台设置中出现。但是,我很确定我已经遵循了自述文件,而且我的构想也用光了。
解决方法
嗯,我放弃了开发人员包的Apple开发人员控制台服务设置(带有applicationIdSuffix'.dev'和bundleid'com.company.foobar.dev'),并针对生产环境进行了设置。这一工作符合预期。
我现在想知道苹果是否没有将请求重定向到Android的故障服务器,除非该软件包具有playstore的存在。有评论吗?