Hi Eveyone,
We are facing an issue with Okta Identity Engine login where authentication fails with a 400 Bad Request (E0000020), even though correct credentials are provided. Below are the details of our setup and the problem.
Environment Details
Okta Engine: Identity Engine
Environment: UAT
Login Initiation: Browser‑based only
Domain: Single UAT domain
OIDC App: Custom OIDC application, Authorization_code
External Apps:
.NET Web App – initiates Okta login redirect
Custom Auth Server – handles auth flow
Node.js (Express, Node 24 LTS) – Password Import Inline Hook endpoint
User Migration & Inline Hook Setup:-
Users were pre‑imported into Okta using a custom script.
A Password Import Inline Hook is configured for round‑trip password validation.
The hook endpoint has been tested independently using Postman and works as expected.
Sample Hook Request (Tested via Postman)
{
“data”: {
"context": {
"credential": {
"username": "cooper.vaish@gmail.com",
"password": "TesterQA#456"
}
}
}
}
Hook Response:
“commands”: [
{
"type": "com.okta.action.update",
"value": {
"credential": "VERIFIED"
}
}
\]
This request**/**response works correctly when tested directly.
Issue Observed:
When accessing the Okta hosted login page in UAT and submitting valid credentials for an imported user:
Login fails with HTTP 400 – Bad Request
Error code: E0000020
Password Import Inline Hook is not triggered at all, no log found.
“messages”: {
"type": "array",
"value": \[
{
"message": "Bad request.",
"i18n": {
"key": "E0000020"
},
"class": "ERROR"
}
\]
},
"user": {
"type": "object",
"value": {
"identifier": "cooper.vaish@gmail.com"
}
}
Troubleshooting Performed:
Verified credentials are correct
Confirmed browser‑initiated login (no backend auth calls)
Minimized OIDC app sign‑on and authentication policies
Validated inline hook endpoint availability and response format
No okta Log recorded.
Login Redirection URL Format:-
authUrl = https://${oktaDomain}/oauth2/${auth_server_id}/v1/authorize? +
client_id=${clientId}& +
response_type=code& +
scope=openid profile email groups offline_access& +
redirect_uri=${encodeURIComponent(redirectUri)}& +
state=${state}&+nonce=${nonce}&+
code_challenge =random string&+
code_challenge_method=S256;
Despite this, the issue persists and the inline hook does not execute during login. Please share your ideas.