Авторизуйтесь с помощью токена 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/