Используйте проверенные библиотеки, PKCE для public clients, валидацию state/nonce, хранение токенов в httpOnly/secure storage, ротацию refresh.
Разбор
- Не пишите JWT-проверку «на коленке».
- Часы и leeway.
- Минимальные scopes.
- Логи аудита login.
Итог
OAuth безопасен только с каноничным flow и проверкой токенов.