Наш старший разработчик недавно покинул нас, и я пытаюсь уплыть в океан, который является IdentityServer.
Есть несколько вещей, которые я не понимаю и не могу найти информацию о них. Как, например, когда вы запускаете клиентское приложение, оно перенаправляется на IdentityServer/Account/Login
с параметром, называемым returnUrl
.
, который returnUrl
, кажется, используется для многих вещей, таких как получение контекста авторизации с помощью :
await _interaction.GetAuthorizationContextAsync(returnUrl);
Мой первый вопрос будет таким:
Откуда этот returnUrl? как / где он создан?
Второй вопрос:
Есть ли способ сохранить его где-нибудь в клиентском приложении после входа в систему? Я имею в виду, что в клиентском приложении есть момент, когда мы должны отправлять письма для создания новых учетных записей. Эти письма перенаправляют новых пользователей на страницу регистрации в IdentityServer. Я хотел бы иметь здесь returnUrl для перенаправления нового пользователя в правильное клиентское приложение.
Спасибо за ваше время!
РЕДАКТИРОВАТЬ:
вот URL возврата, установленный в моем клиенте (в IdentityServer):
RedirectUris = {"http://localhost:44349" + "/signin-oidc"}
, а вот returnUrl, получаемый методом Login в IdentityServer, когда я запускаю клиентское приложение
"/connect/authorize/callback?client_id=MyApplication_Web&redirect_uri=http%3A%2F%2Flocalhost%3A44349%2Fsignin-oidc&response_type=code%20id_token&scope=openid%20offline_access%20roles%20Cri_Identity_Serveur_Api.Full_Access&response_mode=form_post&nonce=637230882720491348.YmQzODA4ZTQtNDczZS00OWYwLWFmNmEtYjA2NmQ3YmIwZjg2YzdiODk4ZDYtMTU1YS00ZTM0LWE0MGEtNDVjOWNkZWFiYTM1&state=CfDJ8Ly2XCz96vdGkR4YQuJ4jeE-v9P4l1W7fLWpJcCGZpt1rMpXyWqEGdnaeRZfiZy4M4Z79LcixUbo06zImhsxwbgyV4hK82qmn0mI6wkrxwraT1tH3XNCdSXCfUJqwk_hZguMSwspZDEN6r1WxnZsU9kT8MHrb9qpzsMOMzsotVzToEjgMtxIeoRfqFSoK8ZfUXBkSw__qxVyIe1lCs96-I--ufZSyO2pBe2kfau-ah7eR5-9oopxX6x1k0tzFHAk6Y3_jMqGysES_GmmfeUJvXXFIR35Rc-IaxU1igswmL2h1IUS-0DQ98Tv_Gf3hirnS87SU87aSJhajgn2YmARXWc&x-client-SKU=ID_NETSTANDARD2_0&x-client-ver=5.3.0.0"
кажется, что для извлечения контекста авторизации с использованием await _interaction.GetAuthorizationContextAsync(returnUrl);
returnUrl должен быть полным URL с "/connect/authorize/callback?..."