Ger Hayden Ответов: 0

Как я могу опросить вызов действия входа в систему на контроллере учетной записи в комбинированном примере быстрого запуска 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;
}


Если я смогу преуспеть в этом, тогда я закончу. Хорошая идея или в неправильном направлении?

0 Ответов