Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 

50 Zeilen
1.1 KiB

  1. // from https://github.com/pedroetb/node-oauth2-server-example
  2. var Http = require("http")
  3. var path = require("path")
  4. var express = require("express")
  5. var bodyParser = require("body-parser")
  6. var oauthserver = require("oauth2-server")
  7. var cors = require("cors")
  8. var app = express()
  9. app.use(cors())
  10. app.use(bodyParser.urlencoded({ extended: true }))
  11. app.use(bodyParser.json())
  12. app.oauth = oauthserver({
  13. model: require("./model.js"),
  14. grants: ["password", "client_credentials", "implicit"],
  15. debug: true
  16. })
  17. app.all("/oauth/token", app.oauth.grant())
  18. app.get("/swagger.yaml", function (req, res) {
  19. res.sendFile(path.join(__dirname, "swagger.yaml"))
  20. })
  21. app.get("*", app.oauth.authorise(), function (req, res) {
  22. res.send("Secret secrets are no fun, secret secrets hurt someone.")
  23. })
  24. app.use(app.oauth.errorHandler())
  25. function startServer() {
  26. var httpServer = Http.createServer(app)
  27. httpServer.listen("3231")
  28. return function stopServer() {
  29. httpServer.close()
  30. }
  31. }
  32. module.exports = startServer
  33. if (require.main === module) {
  34. // for debugging
  35. startServer()
  36. }