No state in response after callback in oidc-client-js
10,927
Solution 1
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();
}
Solution 2
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) => {});
}
Comments
-
Mike Anderson almost 2 years
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 ?
-
penleychan about 6 yearsThanks,
window.location.hash = decodeURIComponent(window.location.hash);
This is the line I needed. -
ᴳᴿᴵᴹᴹ about 4 years+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.