Я использую сервер идентификации 4 в качестве сервера аутентификации и успешно продемонстрировал аутентификацию клиентов для доступа к моему веб-приложению MVC и моему приложению веб-API, которые работают в IIS под .NET 4.7.
Проблема, с которой я сталкиваюсь, заключается в том, чтобы найти правильный подход для обеспечения того, чтобы клиенты могли получить доступ только к конечным точкам, которым они должны после процесса аутентификации. Например, у меня есть два клиента, один с областью записи, а другой без. Как мне убедиться, что тот, у кого нет, может получить доступ только к конечным точкам, которые будут читать мои данные, а не изменять их?
Лучший метод, который я нашел до сих пор, — это использовать атрибут авторизации, подобный этому: https://github.com/IdentityModel/Thinktecture.IdentityModel/blob/master/source/WebApi/ScopeAuthorizeAttribute.cs
Однако это помечено как устаревшее, и я не знаю, что упоминается версия, основанная на промежуточном программном обеспечении OWIN. Учитывая, что мои приложения MVC и Web Api не могут быть обновлены до основных приложений .NET, какой подход будет лучшим?