Я попытался интегрировать поток OIDC в приложение, и проблема в том, что я получаю эту строку ниже, которая просто отображается на экране в IE, но не показывает другой ожидаемый браузер.
Html:
<!DOCTYPE html><html lang="nb" xmlns="http://www.w3.org/1999/html"><head><meta charset="UTF-8"><meta name="viewport" content="initial-scale=1.0"/><title>OIDC Connector Test Callback</title></head><body><script> var responseData = 'true';var formPost = '{"Successs":"OK"}'; formPost = JSON.parse( formPost );function urlSearchToObj( search ) {var pairs = search.substring( 1 ).split( '&' ),obj = {}, pair; for ( var i = 0; i < pairs.length; i ++) { if ( pairs[i] === '' ) { continue; } pair = pairs[i].split( '=' ); obj[decodeURIComponent( pair[0] )] = decodeURIComponent( pair[1] ); } return obj; } var urlParams = formPost || urlSearchToObj( document.location.search || document.location.hash ); var hasError = false; if ( urlParams['error'] ){ console.error( 'Received error' ); hasError = true;} var windowParent = window.opener || window.parent; if ( windowParent !== window) { if ( !hasError && responseData ) { windowParent.postMessage( JSON.stringify( { type: 'oidc-connector-response-data', data: urlParams } ), '*' ); } else { windowParent.postMessage( JSON.stringify( { type: 'oidc-connector-error', error: urlParams['error'] } ), '*' ); }} else { console.warn( 'OIDCConnectorError: Could not send code, does not have parent window' );}</script> </body> </html>
Я полагаю, что в DOM в IE, как показано ниже:
<iframe width="100%" height="100%" src="https://oidc-current.bankidapis.no/auth/realms/current/precheck/auth?redirect_uri=https%3A%2F%2Fwww.xxx.xx%2Fsegp%2Fappo%2Flogon%2Fservice_oidc&login_hint=BID&response_mode=query&response_type=code&ui_locales=nb&acr_values=4&nonce=xxxx&state=xxxx&id_token_hint=&prompt=&scope=openid%20profile%20address%20email%20phone%20nnin_altsub%20nnin%20phone_altsub&client_id=xxx" frameborder="0"></iframe>
Моя проблема заключается в том, что он не должен отображаться на экране в IE, поскольку он блокирует обратный вызов из другого источника и может помочь с этим.