]>
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')
7 const oAuth
= require('../../../middlewares').oauth
9 const Client
= mongoose
.model('OAuthClient')
11 const router
= express
.Router()
13 router
.get('/client', getAngularClient
)
14 router
.post('/token', oAuth
.token
, success
)
16 // ---------------------------------------------------------------------------
18 module
.exports
= router
20 // ---------------------------------------------------------------------------
22 function getAngularClient (req
, res
, next
) {
23 const serverHost
= config
.get('webserver.host')
24 const serverPort
= config
.get('webserver.port')
25 let headerHostShouldBe
= serverHost
26 if (serverPort
!== 80 && serverPort
!== 443) {
27 headerHostShouldBe
+= ':' + serverPort
30 if (req
.get('host') !== headerHostShouldBe
) return res
.type('json').status(403).end()
32 Client
.loadFirstClient(function (err
, client
) {
33 if (err
) return next(err
)
34 if (!client
) return next(new Error('No client available.'))
37 client_id: client
._id
,
38 client_secret: client
.clientSecret
43 function success (req
, res
, next
) {