When I attempt to log into Okta after my session has expired using okta-aws-cli-assume-role I get the following exception:
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.okta.tools.OktaAwsConfig.runProgram(OktaAwsConfig.java:91)
at com.okta.tools.OktaAwsConfig.lambda$deferProgram$2(OktaAwsConfig.java:86)
at com.okta.tools.authentication.OktaAuthentication.getPassword(OktaAuthentication.java:169)
at com.okta.tools.authentication.OktaAuthentication.getPrimaryAuthResponse(OktaAuthentication.java:127)
at com.okta.tools.authentication.OktaAuthentication.getOktaSessionToken(OktaAuthentication.java:51)
at com.okta.tools.saml.OktaSaml.getSamlResponse(OktaSaml.java:47)
at com.okta.tools.OktaAwsCliAssumeRole.doRequest(OktaAwsCliAssumeRole.java:132)
at com.okta.tools.OktaAwsCliAssumeRole.run(OktaAwsCliAssumeRole.java:102)
at com.okta.tools.WithOkta.main(WithOkta.java:28)
Caused by: java.lang.StringIndexOutOfBoundsException: Range [0, 3) out of bounds for length 2
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55)
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52)
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213)
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210)
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromToIndex(Preconditions.java:112)
at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Preconditions.java:349)
at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4602)
at java.base/java.lang.String.substring(String.java:2715)
at org.apache.commons.lang.SystemUtils.getJavaVersionAsFloat(SystemUtils.java:1133)
at org.apache.commons.lang.SystemUtils.<clinit>(SystemUtils.java:818)
... 9 more
However, I am able log in using v1.0.2 of this package (although it’s worth noting that it may have been customized for my organization; I’m not sure).