Skip to content
This repository was archived by the owner on Jan 26, 2025. It is now read-only.
This repository was archived by the owner on Jan 26, 2025. It is now read-only.

Error logging in with IE11 after upgrading from Angular 8 to Angular 10 #927

Description

@polklabs

I'm submitting this issue for the package(s):

  • jwt-verifier
  • okta-angular
  • oidc-middleware
  • okta-react
  • okta-react-native

I'm submitting a:

  • Bug report
  • Feature request
  • Other (Describe below)

Current behavior

When logging in with the okta-signin-widget in IE11 the following error occures
AuthSdkError: Could not load PKCE codeVerifier from storage. This may indicate the auth flow has already completed or multiple auth flows are executing concurrently.

Auth flow works perfectly on other browsers

Okta login also stopped working during the intermediate upgrade from version 8 to version 9

Expected behavior

Okta login was working in Angular 8 and should continue working in Version 9 and Version 10
okta.handleAuthentication() should complete without error on IE11

No Okta related code has been changed during the upgrade from V8 to V10

Unable to debug since the IE console closes when redirecting to oktapreview and back and console logs are not saved when console is not open

Minimal reproduction of the problem with instructions

Extra information about the use case/user story you are trying to implement

Sign in widget config

{
    baseUrl: environment.oktaBaseUrl,
    clientId: environment.otkaClientId,
    redirectUri: environment.oktaRedirectUri,
    brandName: '',
    authParams: {
      pkce: true,
      responseMode: 'query',
      issuer: environment.oktaIssuer,
      display: 'page',
      scopes: ['openid', 'profile', 'email']
    },
    tokenManager: {
      secure: true,
      storage: 'cookie',
      expireEarlySeconds: 300
    },
    testing: {
      disableHttpsCheck: environment.production === false
    },
    features: {
      selfServiceUnlock: true
    }
}

App.module Okta config

const oktaConfig = {
  clientId: environment.otkaClientId,
  issuer: environment.oktaIssuer,
  redirectUri: environment.oktaRedirectUri,
  scopes: ['openid', 'profile', 'email'],
  tokenManager: {
    secure: true,
    storage: 'cookie',
    expireEarlySeconds: 300
  },
  testing: {
    disableHttpsCheck: environment.production === false
  },
  onAuthRequired,
  onSessionExpired
};

In the login component i'm checking if the user has an active session and calling
this.oktaAuth.loginRedirect(this.loginHelperService.getRedirectUrl(), { sessionToken: sessionInfo.id });
Otherwise i'm showing the login widget

Environment

  • Angular CLI: 10.1.4
  • Browser: IE11
  • OS: Windows 10
  • Node version (node -v): 12.19.0
  • typescript: 4.0.3

Polyfills:

  • webcrypto-shim: ^0.1.5
  • text-encoding: ^0.7.0

Working Okta package versions:

  • @okta/okta-angular: ^2.1.0,
  • @okta/okta-auth-js: ^3.2.2,
  • @okta/okta-signin-widget: ^4.2.1,

Package versions after update:

  • @okta/okta-angular: ^2.2.1
  • @okta/okta-auth-js: ^3.2.5
  • @okta/okta-signin-widget: ^4.5.0

using @latest versions also does not fix the issue

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions