13

I think this is an error related to angular 5.2.8 & 6 . With angular 5.2.7 work fine. I create a ng5 branch and update angular to latest 5.2.8 and the error com in! anybody can direct me to an angular 5.2.8 and later sample with oidc-client-js ?

Mike Anderson
  • 738
  • 1
  • 8
  • 23

2 Answers2

8

It is caused by URI encoding of state in the window.location.hash. For me this fix the issue:

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();
}
Mike Anderson
  • 738
  • 1
  • 8
  • 23
6

If you are doing something custom like me and your issue has nothing to do with hash location, just ignore it:

  completeAuthentication(): Promise<void> {
    return this.manager.signinRedirectCallback().then(user => {
      this.user = user;
    }).catch((err) => {});
  }
Post Impatica
  • 14,999
  • 9
  • 67
  • 78
  • 1
    +1 for this, this is exactly what I initially did and this confirms it. I am using React with React-Router and for some reason the state is not read by the oidc-client. – ᴳᴿᴵᴹᴹ Feb 07 '20 at 15:11