SBe*_*413 6 redirect android single-sign-on okta chrome-custom-tabs
我正在Android应用程序上实施SSO,在开发过程中,我们使用Okta进行身份管理。我们已设置Okta,以便在成功进行用户/密码身份验证之后,用户仅需在后续登录时验证其密码即可。
我正在使用Chrome自定义标签打开浏览器网址,并在AndroidManifest中设置了正确的意图过滤器配置。
我遇到的问题是,初始身份验证屏幕未重定向回应用程序,并且出现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));
Run Code Online (Sandbox Code Playgroud)
我知道在较旧版本的CCT中报告了类似的问题,但该问题似乎已得到修复。
还有其他人遇到过此特定问题吗?
添加实际身份验证页面的图像以供参考...
初始用户/密码屏幕(不起作用):
仅密码验证屏幕(工作!):
小智 1
即使问题看起来不同,也可以按照此处的说明解决: https: //github.com/iainmcgin/AppAuth-Demo
相关部分是使用“插页式页面”作为身份验证流程中的重定向 URI。该页面的代码是https://appauth.demo-app.io/oauth2redirect,您必须将redirectUri js变量更改为您的应用程序uri(应用程序拦截的原始重定向URI)
作为参考,我最初在这里找到了解决方案:“当从 Chrome 自定义选项卡重定向到 Android 应用程序时,导航被阻止”
| 归档时间: |
|
| 查看次数: |
1017 次 |
| 最近记录: |