Closed Smarthard closed 1 year ago
St.:grey_question: |
Category | Percentage | Covered / Total |
---|---|---|---|
🟢 | Statements | 94.05% (+0.07% 🔼) |
1028/1093 |
🟢 | Branches | 82.39% (-0.11% 🔻) |
131/159 |
🟢 | Functions | 86.9% (-1.35% 🔻) |
219/252 |
🟢 | Lines | 93.33% (+0.02% 🔼) |
867/929 |
147 tests passing in 13 suites.
Report generated by 🧪jest coverage report action from 70e2a4240da84d101eb5fde98e77b60f0b457930
St.:grey_question: |
Category | Percentage | Covered / Total |
---|---|---|---|
🟢 | Statements | 93.94% (-0.04% 🔻) |
1023/1089 |
🟢 | Branches | 82.47% (-0.03% 🔻) |
127/154 |
🟢 | Functions | 86.8% (-1.46% 🔻) |
217/250 |
🟢 | Lines | 93.18% (-0.12% 🔻) |
861/924 |
147 tests passing in 13 suites.
Report generated by 🧪jest coverage report action from adee6ffcd875879ae0c58bd35c57667a554d29db
Что реализовано
GET /oauth/:provider
- редиректит на нужный сервис для получения разрешения пользователя для нашего oauth клиентаGET /oauth/:provider/callback
- для возвращения с сервиса и получения auth code, который автоматически обменяется на access и refresh токеныGET /oauth/:provider/refresh
- для рефреша токена, рефреш токен передаётся в queryРеализован провайдер только для Shikimori (
/oauth/shikimori
).Контроллер защищен от неавторизованных пользователей, т.е. перед обращением нужно войти в аккаунт нашего пользователя. Это сделано, чтобы защитить эндпоинты от абуза сторонними приложениями (=== защита от использования наших oauth клиентов). При обнаружении подозрительной активности от конкретного пользователя можно будет просто его забанить и тем самым закрыть этот контроллер от злоумышленников).
Пример ответа
Ответ с токенами выглядит так: