Когда я выполняю ручное перенаправление, я получаю сообщение об ошибке от IdentityServer
invalid_request, требуется вызов кода
Однако, когда я использую библиотеку oid c -client- js для того же запроса авторизации, я не получаю эту ошибку. Библиотека каким-то образом устанавливает код вызова под капотом.
Вот я JS код.
Настройка:
const config = {
authority: "https://demo.identityserver.io",
client_id: "interactive.confidential",
redirect_uri: "http://localhost:3000/callback",
response_type: "code",
scope:"openid profile email api offline_access",
post_logout_redirect_uri : "http://localhost:3000/post_logout",
};
const url = `https://demo.identityserver.io/connect/authorize?
client_id=${config.client_id}&
redirect_uri=${config.redirect_uri}&
response_type=${config.response_type}&
scope=${config.scope}`;
Моя авторизация вручную запрос перенаправления, который выдает:
const onFormSubmit = async (ev: React.FormEvent) => {
ev.preventDefault();
window.location.replace(url); // I simply do replace
}
Код с библиотекой, которая не выдает:
import Oidc from 'oidc-client';
const onFormSubmit = async (ev: React.FormEvent) => {
ev.preventDefault();
const mgr = new Oidc.UserManager(config);
mgr.signinRedirect(); // login redirect here, no errors
}
Я хочу понять, что такое код вызова m. И как это генерируется. Дайте мне подсказку, что читать об этом.
Я имею дело с библиотекой go, но я бы предпочел не импортировать сторонние библиотеки в мое приложение, где это возможно.