День добрый, господа.
Есть рест сервис с авторизацией через oauth2 password grant.
Есть юзер, у которого есть список девайсов, с которых разрешено подключение к сервису.
Надо при логине/при запросах после логина проверить разрешено ли с этого девайса пользоваться сервисом.
Вижу следующие варианты реализации:
1) кастомный фильтр после oauth security, который дергает из бд список и матчит девайс из запроса (данные девайса в хедере?) со списком в бд и кидает ошибку, если девайс не найден.
2) аналогично 1 пункту, но как-то еще вклиниться в стандартный логин по password grant
3) кастомный oauth grant со своим TokenGranter
4) не трогать процесс oauth логина, разрешать логин всегда, данные о девайсе кидать с каждым запросом к сервисом, чекать девайс фильтром после всего секьюрити чейна.
Какой из вариантов лучше?
Какие варианты решения поставленной задачи есть еще?
Если делать 1/2 вариант, как еще кроме хедеров можно прокинуть данные о девайсе на /token эндпоинт oauth?