Как я могу опросить вызов действия входа в систему на контроллере учетной записи в комбинированном примере быстрого запуска identityserver?
Я считаю, что если я могу либо перенаправить на другое действие, либо передать дополнительные параметры в действие входа контроллера учетной записи, то я могу построить оставшуюся часть того, что необходимо для реализации функции сброса пароля / подтверждения регистрации, основанной на отправленной по электронной почте ссылке с уникальным токеном.
Трудность заключается в том, что я не знаю, как врезаться в рабочий процесс авторизации, чтобы сделать это.
Что я уже пробовал:
Я также разместил этот вопрос на доске вопросов IdentityServer, но до сих пор никаких входов от них не поступало.
Мои исследования на основе google показывают, что это не так легко достижимо с IdentityServer, но я считаю, что если я могу взломать рабочий процесс, как описано выше, то это должно быть возможно.
Этот статья это многообещающе. А именно, если я проверяю токен на заданном пароле, то использую межмашинную связь с общим секретом для авторизации сеанса.
Вот некоторые коды, перечисленные из проекта "клиент" в опубликованном примере "комбинированный" - простое консольное приложение, авторизованное с помощью общего секрета, который я собираюсь попробовать после проверки ссылки:
// discover endpoints from metadata var client = new HttpClient(); var disco = await client.GetDiscoveryDocumentAsync("http://localhost:5500"); if (disco.IsError) { Console.WriteLine(disco.Error); return; } // request token var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest { Address = disco.TokenEndpoint, ClientId = "MVCClient", ClientSecret = "secret", Scope = "api1" }); if (tokenResponse.IsError) { Log(tokenResponse.Error); return; }
Если я смогу преуспеть в этом, тогда я закончу. Хорошая идея или в неправильном направлении?