feat: add Oauth authentication
This commit is contained in:
+9
-3
@@ -38,6 +38,7 @@ import {
|
||||
import { initialDatabaseValue } from './db/example-data'
|
||||
|
||||
import { validateObjectKeys } from '../shared/utils'
|
||||
import { setupOauth } from './auth'
|
||||
|
||||
export async function createApiRouter() {
|
||||
type SessionId = Opaque<string, string, 'session'>
|
||||
@@ -70,6 +71,11 @@ export async function createApiRouter() {
|
||||
r.use(bodyParser.json())
|
||||
r.use(cookieParser())
|
||||
|
||||
const authRouter: Router = express.Router()
|
||||
|
||||
setupOauth(authRouter)
|
||||
r.use('/auth', authRouter)
|
||||
|
||||
r.get('/api/status', (req, res) => {
|
||||
res.json({ url: req.originalUrl, status: 'ok' })
|
||||
})
|
||||
@@ -243,7 +249,7 @@ export async function createApiRouter() {
|
||||
let queryUser = (req.query.user ?? null) as UserId | null
|
||||
let queryProblem = (req.query.problem ?? null) as ProblemId | null
|
||||
let isPublic = (req.query.public === '')
|
||||
|
||||
|
||||
const requestUser = await getRequestUser(req)
|
||||
|
||||
let solutions = await getSolutions(db)
|
||||
@@ -256,10 +262,10 @@ export async function createApiRouter() {
|
||||
solutions = solutions.filter(s => s.sentBy === queryUser)
|
||||
}
|
||||
|
||||
if(isPublic) {
|
||||
if (isPublic) {
|
||||
solutions = solutions.filter(s => s.visible)
|
||||
}
|
||||
|
||||
|
||||
// filtra rispetto ai problemi
|
||||
if (queryProblem !== null) {
|
||||
solutions = solutions.filter(s => s.forProblem === queryProblem)
|
||||
|
||||
Reference in New Issue
Block a user