import { handleOAuthToken } from '@server/lib/auth/oauth'
import { BypassLogin, revokeToken } from '@server/lib/auth/oauth-model'
import { Hooks } from '@server/lib/plugins/hooks'
-import { asyncMiddleware, authenticate } from '@server/middlewares'
+import { asyncMiddleware, authenticate, openapiOperationDoc } from '@server/middlewares'
import { ScopedToken } from '@shared/models/users/user-scoped-token'
const tokensRouter = express.Router()
tokensRouter.post('/token',
loginRateLimiter,
+ openapiOperationDoc({ operationId: 'getOAuthToken' }),
asyncMiddleware(handleToken)
)
tokensRouter.post('/revoke-token',
+ openapiOperationDoc({ operationId: 'revokeOAuthToken' }),
authenticate,
asyncMiddleware(handleTokenRevocation)
)
} catch (err) {
logger.warn('Login error', { err })
- return res.status(err.code || 400).json({
- code: err.name,
- error: err.message
+ return res.fail({
+ status: err.code,
+ message: err.message,
+ type: err.name
})
}
}
async function handleTokenRevocation (req: express.Request, res: express.Response) {
const token = res.locals.oauth.token
- const result = await revokeToken(token, true)
+ const result = await revokeToken(token, { req, explicitLogout: true })
return res.json(result)
}