ASP.NET Core: токен JWT с областями действия - PullRequest
0 голосов
/ 31 октября 2018

Фон

У меня есть проект ядра ASP.NET (v2.1), который содержит API. Доступ к этому API ограничен каналом-носителем JWT.

Мой сервер предоставляет конечную точку для входа в систему:

POST http://example.com/api/login

После подключения токена к запросу я могу вызвать один из методов сервера (GET или DELETE:

GET http://example.com/api/1234

или

DELETE http://example.com/api/1234

Target

Я хочу реализовать токен «другого типа», который разрешит доступ только к определенным scope. Допустим, мы хотим предоставить доступ только для метода GET. Итак, если у вас есть этот токен - вы можете GET ресурс, но не DELETE его.

Хотите знать, возможно ли это с токеном-носителем JWT? Если да, то как?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Маркер JWT Bearer должен использоваться для механизма аутентификации, но то, о чем вы говорите, - Authorization, и поэтому ваш подход неверен. Лучше использовать конвейер авторизации и реализовать надлежащую авторизацию на основе ролей / политик, которая ограничит доступ к этим конечным точкам Api.

0 голосов
/ 31 октября 2018

Вы не должны делать это с самим токеном. Маркер используется для проверки подлинности того, кем является пользователь. Вместо этого вам следует рассмотреть использование ролей для авторизации действия и назначения ролей разных пользователей для ограничения доступа к удалению глаголов.

Эта статья должна быть в состоянии объяснить дальше

https://docs.microsoft.com/en-us/aspnet/core/security/authorization/roles?view=aspnetcore-2.1

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