Vaadin:锚点在浏览器中设置内部 URL,但不导航

S. *_*Doe 1 vaadin vaadin-flow vaadin23

在 Vaadin 23.1.0 应用程序的 LoginView 中,我可以Anchor导航到 Microsoft Azure Login URL: add(new Anchor("/oauth2/authorization/azure", "Login with MS Azure AD"));

问题:当我单击该锚点/链接时,浏览器(Firefox 101.0.1 和 Chromium 103)中的 URL 会更新为http://localhost:8080/oauth2/authorization/azure,但浏览器无法导航。

问题:如何让该锚点导航到给定目标?

我尝试过的

  1. 当我单击锚点然后按 F5 时,它工作正常。(这是目前的解决方法。它表明该 URL 是可访问的。)
  2. 当我将其更改hrefAnchor“https://google.com”时,它就会导航。

其他观察结果: 当我单击锚点时,浏览器会向 Vaadin 服务器发出一个请求,其中包含以下请求:{"csrfToken":"10c44508-3e55-455c-b4b1-86b7d2390f44","rpc":[{"type":"publishedEventHandler","node":1,"templateEventMethodName":"connectClient","templateEventMethodArgs":["flow-container-root-2521314","ROOT-2521314","oauth2/authorization/azure","",null],"promise":4}],"syncId":4,"clientId":4}以及以下响应: for(;;);[{"syncId":5,"clientId":5,"execute":[["Systemanmeldung","document.title = $0"],["Systemanmeldung","document.title = $0"],[false,[0,3],"return (function() { this.serverConnected($0)}).apply($1)"],[4,null,[0,1],"return (function() { this.$server['}p']($0, true, $1)}).apply($2)"]]}]

Kno*_*bie 5

anchor.getElement().setAttribute("router-ignore", true);如果您需要服务而不是客户端路由器来处理给定的 URL,请使用。

  • 看起来这应该是 API 的一部分。 (2认同)