Авторизуйтесь с помощью токена Oauth2 в Asp.Net WebAPI

Здравствуйте, я создаю ASP.Net WebApi. Сначала я авторизовал WebApi, используя базовую аутентификацию.net членства провайдера и Thinktecture Identitymodel.

var authConfig = new AuthenticationConfiguration();

authConfig.AddBasicAuthentication((username, password) => Membership.ValidateUser(username, password));

config.MessageHandlers.Add(new AuthenticationHandler(authConfig));

Я думаю, что это не может быть сделано легче.

Чтобы сделать еще один шаг вперед, я настроил Thinktecture IdentityServer, который предоставляет мне токены oauth2. У меня вопрос, как мне проверить токены доступа, которые клиент отправляет мне (WebApi) с сервером идентификации?

Я изучал методы AddJsonWebToken, которые предоставляет IdentityModel, но я не могу понять, какую uri (конечную точку) на сервере идентификации я должен вызвать для проверки токена. Вероятно, я просто полностью потерян здесь и упускаю суть, любая помощь будет очень ценна!

Подвести итоги:

Как я могу проверить access_tokens, которые я получаю в моем WebApi, и как мне связать это с атрибутом [Authorize]?

1 ответ

Решение

Просто вызовите AddJsonWebToken в вашем веб-интерфейсе API - и добавьте имя издателя, ключ подписи и URI области.

Нет необходимости вызывать idsrv для проверки.

Вот пример: http://leastprivilege.com/2012/05/26/thinktecture-identitymodel-and-asp-net-web-api/