gpt4 book ai didi

android - AppAuth 登录重定向适用于 iOS 但不适用于 Android

转载 作者:行者123 更新时间:2023-12-01 16:05:22 26 4
gpt4 key购买 nike

我正在 Flutter/Dart 中开发一个移动应用程序,我目前正在研究身份管理,特别是登录功能。我正在使用一个名为 flutter_appauth 的库这是 AppAuth 库的包装器。我有一个奇怪的问题,它只发生在 Android 上,在用户成功登录后,不会发生重定向。如果用户在成功登录后重新打开登录页面,他们会在 WebView 中看到一个空白屏幕(大概是因为浏览器让用户保持登录状态)。我的应用程序的身份验证流程是:应用程序 -> 登录页面 -> 2FA 的身份提供者 -> 应用程序。这是在 iOS 上发生的情况,但不会从 Android 上的 ID 提供程序重定向回来。应用程序停留在完成的身份验证页面上。我使用的身份提供者是 PingID。
该库通过允许您简单地定义重定向方案来处理重定向,它只是重定向 URI 的前缀部分。我在 app/build.gradle 文件中正确定义了重定向方案以及重定向 URI,如下所示:
重定向 URI: AppName:/callback

defaultConfig {
applicationId "io.example.AppName"
minSdkVersion 16
targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
manifestPlaceholders = [
'appAuthRedirectScheme': 'AppName'
]
}
我在插件的 GitHub 上发布了一个问题帖子,您可以查看 here .该插件的作者指出,如果方案名称和重定向 URI 相同,那么我的问题就出在别处。因为我的代码适用于 iOS,并且我对两个平台的重定向方案使用了相同的名称,所以我想我的问题不是我错误地定义了重定向方案。一切都在 iOS 模拟器上完美运行。我已经在 4 个不同的 Android 设备和 4 个不同的 API 版本上对其进行了测试,并且在所有这些设备上都遇到了相同的问题。我还尝试为 RedirectUriReceiverActivity 定义一个 Intent ,但我的问题仍然存在。
我是 Flutter、Mobile Dev 和 IdM 的新手,所以我希望得到一些指导。 Chrome 和 Safari 或 iOS 和 Android 之间是否存在可能阻止这种重定向发生的区别?在过去的 4 天里,我一直在互联网上搜索解决方案,但我还没有找到,所以我几乎没有任何线索。有什么建议吗?
编辑:我终于让它工作了!希望这将有助于将来遇到此问题的任何人。事实证明,我所要做的就是将 appAuthRedirectScheme 的方案名称设置为完全小写的字符串。因此,即使我的重定向 URI 是 AppName:/callback,我也必须将 appAuthRedirectScheme 设置为 appname 而不是 AppName。这让它工作。

最佳答案

我在收到您的 GH 问题报告时看到了它。我也使用 AppAuth。在我并入我自己的应用程序之前,我完全测试了它附带的示例应用程序:
https://github.com/MaikuB/flutter_appauth/tree/master/flutter_appauth/example
您是否替换了所有示例变量等,并确认所有这些都适用于 iOS 和 Android?
可以回归基础并使用示例应用程序,如果您仍然有问题,您可以添加到您提出的问题并将示例与您自己的应用程序进行比较。
在生活中,它通常是一个错字或权限:-)
谢谢。

关于android - AppAuth 登录重定向适用于 iOS 但不适用于 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62543099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com