2

我想捕获发生在 Chrome 自定义选项卡中的重定向,以确保用户停留在本机移动应用程序中。

以下是 Chrome 自定义选项卡的启动方式:

val url = "https://demo.company.com/sso/oidc/start/?idp_connection_id=Username-Password-Authentication&status_response_url=https://member.example.com/urgent"
val builder = CustomTabsIntent.Builder()                                                                                                                                         
val customTabsIntent = builder.build()                                                                                                                                           
customTabsIntent.launchUrl(this, Uri.parse(url))

该网页status_response_url在用户进行身份验证后重定向到作为参数给出的 URL。移动应用注册适当的方案:

 <intent-filter android:autoVerify="true">
     <action android:name="android.intent.action.VIEW" />
     <category android:name="android.intent.category.DEFAULT" />
     <category android:name="android.intent.category.BROWSABLE" />
     <data
         android:host="member.example.com"
         android:scheme="https" />
  </intent-filter>

不幸的是,系统似乎没有捕获重定向。为什么?

4

1 回答 1

0

由于缺少用户手势,这是 App Links 和 SSO 的一个众所周知的问题。

您正在使用首选的 Claimed HTTPS Schemes 选项,但需要一个插页式网页才能使其可靠工作。

我的博客文章对此提供了更多信息,包括您可以运行以查看 UX 的代码示例。

于 2021-11-18T20:53:04.203 回答