Я наконец нашел решение этой проблемы.Как я уже говорил в своем ответе, клиент oidc сохраняет информацию о состоянии в локальном хранилище, чтобы он мог проверить, что он получил ответ от предполагаемого сервера.Вы можете имитировать это, генерируя безопасную случайную строку и сохраняя ее в localStorage.Сделайте это перед отправкой запроса на ваш сервер авторизации для регистрации нового пользователя.Код выглядит так:
const nonce = this.generateUniqueString();
const state = this.generateUniqueString();
const date = new Date();
const query = `${otherQueryOptions}&state=${state}&nonce=${nonce}`;
const authSessionData = {
authority: auth_server_url,
client_id: client_id,
created: date.getTime(),
id: state,
nonce: nonce,
redirect_uri: `your/return.url`
}
// You must prefix the key with 'oidc'
localStorage.setItem(`oidc.${authSessionData.id}`, JSON.stringify(authSessionData));
const registrationPath = `myServerRegistrationPath?${query}`
navigateToPage(registrationPath);
Это устранило проблему для меня.