]>
git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/controllers/api/v1/users.js
3 const config
= require('config')
4 const mongoose
= require('mongoose')
5 const express
= require('express')
6 const oAuth
= require('../../../middlewares').oauth
8 const Client
= mongoose
.model('OAuthClient')
10 const router
= express
.Router()
12 router
.get('/client', getAngularClient
)
13 router
.post('/token', oAuth
.token
, success
)
15 // ---------------------------------------------------------------------------
17 module
.exports
= router
19 // ---------------------------------------------------------------------------
21 function getAngularClient (req
, res
, next
) {
22 const serverHost
= config
.get('webserver.host')
23 const serverPort
= config
.get('webserver.port')
24 let headerHostShouldBe
= serverHost
25 if (serverPort
!== 80 && serverPort
!== 443) {
26 headerHostShouldBe
+= ':' + serverPort
29 if (req
.get('host') !== headerHostShouldBe
) return res
.type('json').status(403).end()
31 Client
.loadFirstClient(function (err
, client
) {
32 if (err
) return next(err
)
33 if (!client
) return next(new Error('No client available.'))
36 client_id: client
._id
,
37 client_secret: client
.clientSecret
42 function success (req
, res
, next
) {