Отзыв токена AspNet.Security.OpenIdConnect.Server и выход из системы не работают

Я настроил конечные точки отзыва и выхода, как указано ниже.

.AddOpenIdConnectServer(options =>
{
    options.LogoutEndpointPath = "/logout";
    options.RevocationEndpointPath = "/revoke";
}

Но оба не работают. Отзыв токена не является истечением срока действия/отзывом токена.

Для отзыва токена я отладил код и обнаружил, что он отклоняет контекст в классе OpenIdConnectServerHandler в приведенном ниже коде.

var context = new ValidateRevocationRequestContext(Context, Scheme, Options, request); await Provider.ValidateRevocationRequest(context);

context.IsRejected имеет значение true после вышеуказанного метода

Запрос (сообщение) содержит clientId, clientsecret, токен в качестве токена доступа или токена обновления и token_hint_type. Я не могу сделать вывод, почему это происходит?

Обновление 1:

Сделана проверка контекста с помощью приведенного ниже кода.

public override async Task ValidateRevocationRequest(ValidateRevocationRequestContext context) { context.Validate(); }

Теперь я узнал, отлаживая код ASOS, что нет встроенной логики для отзыва токена, я прав? если это сценарий, то мне нужно написать собственную логику, чтобы отозвать токен в

public override async Task HandleRevocationRequest(HandleRevocationRequestContext context) {.. code }

Теперь мне интересно, как отозвать токен (доступ и обновление), потому что они автономны и не хранятся в БД, как openiddict (я просмотрел логику отзыва openiddict).


person Sandeep Rasgotra    schedule 31.05.2019    source источник


Ответы (1)


Теперь я узнал, отлаживая код ASOS, что нет встроенной логики для отзыва токена, я прав? если это сценарий, то мне нужно написать собственную логику, чтобы отозвать токен в

Правильно: ASOS полностью не имеет гражданства.

Как вы это реализуете, это полностью ваше собственное решение. Вы можете использовать таблицу для хранения записей токенов, таких как OpenIddict (которые создаются из событий Serialize*Token), или черный список с идентификаторами отозванных токенов.

Дополнительная информация здесь: AspNet.Security.OpenIdConnect.Server. Обновить токены

person Kévin Chalet    schedule 03.09.2019