Chrome自定义选项卡,与Oauth2深层链接

问题描述:

嗨我正在使用Google Chrome自定义选项卡进行项目,并且存在一些深层链接问题。Chrome自定义选项卡,与Oauth2深层链接

我需要通过使用chrome自定义选项卡的oauth2进程来认证用户。用户被发送到认证表单,然后类型是登录名/密码。然后它被重定向到像myapp://something这样的网址。然后触发一个意图,并将用户发送回应用程序。

当用户通过身份验证表单登录时,该进程在首次启动时运行良好。但是,如果我尝试获取另一个身份验证代码,则会收到ERR_UNKNOWN_URL_SCHEME错误,并且该应用会停留在自定义选项卡上。

下面是三种情况下,我测试:

第一种情况:Chrome浏览器自定义标签,迫使用户使用

- 用户被发送到验证表单

认证形式-A 302重定向完成自定义网址

- 用户切换到应用程序

第二种情况:镀铬自定义选项卡(使用会话cookie)

- 用户发送到认证网站

-A 302重定向是为了自定义URL

- 一个ERR_UNKNOWN_URL_SCHEME发生

第三情况下:铬浏览器(使用验证形式或会话cookie)

- 用户发送到认证网站

-A 302重定向是为了自定义URL

- 用户切换到该应用程序

全过程正在与Chrome浏览器,但我必须使它适用于自定义选项卡。这种行为是否正常?我的意思是我读了一个用户交互可能需要使用深层链接,但一切都与铬浏览器运行良好。如果没有这个深层链接过程,那么如何用自定义选项卡执行SSO?

PS:这里的解释我的问题,做https://www.youtube.com/watch?v=Y-4uLpUv1lA

+1

这似乎是在ChromeCustomTabs的错误。我在https://code.google.com/p/chromium/issues/detail?id=580069 – Jejefcgb

+0

上打开了googlecode上的票据我认为这是因为第二次重定向不是用户操作的结果。例如:第一个用户点击登录按钮,然后重定向用户。第二个,服务器发出自动重定向,因为用户已经登录,并且chrome不会跟着它。 – andreban

+0

我同意你的意见。但是这样做很烦人,因为Oauth代码流无法正确使用自定义选项卡。我刚刚阅读了以下看似有趣的帖子:https://paul.kinlan。我/深度应用联-上的Android和铬/#评论-2464645446。 “重定向仅在用户点击相同的域时才起作用,然后尝试开始意图。”我会尝试改变我的重定向网址,看看这个解决方案是否正常。 – Jejefcgb

错误修正了最新的Chrome发布的测试视频:https://bugs.chromium.org/p/chromium/issues/detail?id=580069