gpt4 book ai didi

android - Chrome 自定义标签初始 Okta Auth 不重定向回来

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:10:14 27 4
gpt4 key购买 nike

我正在 Android 应用程序上实现 SSO,我们在开发过程中使用 Okta 进行身份管理。我们设置了 Okta,以便在成功完成用户/密码身份验证后,用户只需在后续登录时验证其密码。

我正在使用 Chrome 自定义标签打开浏览器 url,并在我的 AndroidManifest 中设置了正确的 intent-filter 配置。

我遇到的问题是初始身份验证屏幕没有重定向回应用程序,我得到了 ERR_UNKOWN_URL_SCHEME 错误页面。但是,当从密码验证屏幕进行身份验证时,系统会识别应用方案并将用户重定向回应用。

另请注意:在 ERR_UNKOWN_URL_SCHEME 错误页面中,如果我选择“在 Chrome 中打开”,应用程序会选择重定向并将我放回应用程序。这让我相信这可能是自定义标签问题。

启动 Chrome 自定义标签的代码如下所示:

    CustomTabsIntent customTabsIntent = new CustomTabsIntent.Builder(mCTSession)
.setToolbarColor(ContextCompat.getColor(mContext, R.color.colorPrimary))
.setStartAnimations(context, R.anim.slide_in_right, R.anim.slide_out_left)
.setExitAnimations(context, android.R.anim.slide_in_left, android.R.anim.slide_out_right)
.build();
customTabsIntent.intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_NEW_TASK);

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) {
String referrer = Intent.URI_ANDROID_APP_SCHEME + "//" + packageNameToUse;
customTabsIntent.intent.putExtra(Intent.EXTRA_REFERRER, Uri.parse(referrer));
}

customTabsIntent.launchUrl(context, Uri.parse(fixedUrl));

我知道旧版本的 CCT 中报告了类似的问题,但该问题似乎已得到修复。

还有其他人遇到过这个问题吗?

添加实际授权页面的图像以供引用...

初始用户/密码屏幕(不工作):

Initial Okta user/password screen

仅密码验证屏幕(可行!):

enter image description here

最佳答案

即使问题看起来不同,也可以按照此处的说明解决:https://github.com/iainmcgin/AppAuth-Demo

相关部分是使用“插页”作为身份验证流程中的重定向 URI。该页面的代码是 https://appauth.demo-app.io/oauth2redirect ,并且你必须将redirectUri js变量更改为你的应用程序uri(应用程序拦截的原始重定向URI)

作为引用,我最初在这里找到了解决方案:"Navigation is blocked" when redirecting from Chrome Custom Tab to Android app

关于android - Chrome 自定义标签初始 Okta Auth 不重定向回来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45681456/

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