как получить client_id, который сгенерировал токен на предъявителя? (.NetCore2.1, IdentityServer4) - PullRequest
0 голосов
/ 10 ноября 2018

я работаю с netcore 2.1 и identityserver4 с паролем владельца ресурса

мне нужно получить client_id, который генерирует токен-носитель в одном запросе существует один способ получить client_id? существуют отношения в базе данных userId, token, client_id? проблема в том, что я не знаю, что client_id делает запрос

1 Ответ

0 голосов
/ 13 ноября 2018

У меня есть API в сетевом ядре, несколько баз данных и несколько клиентов, в функции client_id я получаю информацию о базе данных

По умолчанию токен доступа, выданный с сервера идентификации 4, включает утверждение client_id: enter image description here

После того, как клиент отправит запрос к вашему веб-интерфейсу API с токеном доступа, на стороне веб-интерфейса API добавьте службы аутентификации в DI и промежуточное ПО аутентификации в конвейер:

1.Добавить пакет Nudent IdentityServer4.AccessTokenValidation в ваш проект

2. Обновите автозагрузку, чтобы она выглядела так:

 public void ConfigureServices(IServiceCollection services)
{
    services.AddMvcCore()
        .AddAuthorization()
        .AddJsonFormatters();

    services.AddAuthentication("Bearer")
        .AddIdentityServerAuthentication(options =>
        {
            options.Authority = "http://localhost:5000";
            options.RequireHttpsMetadata = false;

            options.ApiName = "api1";
        });
}

public void Configure(IApplicationBuilder app)
{
    app.UseAuthentication();

    app.UseMvc();
}

Тогда вы можете получить претензии, которые включают идентификатор клиента: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...