oidc-client-js 回调后无响应状态

No state in response after callback in oidc-client-js

我认为这是与 angular 5.2.8 & 6 相关的错误。 angular 5.2.7 工作正常。 我创建了一个 ng5 branch 并将 angular 更新到最新的 5.2.8 并且出现了错误! 任何人都可以指导我使用 oidc-client-js angular 5.2.8 和更高版本的示例吗?

是window.location.hash中state的URI编码造成的。 对我来说,这解决了问题:

if (window.location.hash) {
window.location.hash = decodeURIComponent(window.location.hash);
// authorizedCallback returns wrong result when hash is URI encoded
this.oidcSecurityService.authorizedCallback();
} else {
this.oidcSecurityService.authorize();
}

如果你像我一样做一些自定义的事情,而你的问题与哈希位置无关,请忽略它:

  completeAuthentication(): Promise<void> {
    return this.manager.signinRedirectCallback().then(user => {
      this.user = user;
    }).catch((err) => {});
  }