improve: OAuth2 UI and test suite (via #5066)
* create `features` folder * add base oauth2 server * continue implementing OAuth tests * WIP * add password flow tests * modify Password flow credential types * remove query string credential type * add test case for Authorization flow * add specific Authorization value for Password flow test * WIP * fix linter issues
This commit is contained in:
50
test/e2e-cypress/helpers/oauth2-server/index.js
Normal file
50
test/e2e-cypress/helpers/oauth2-server/index.js
Normal file
@@ -0,0 +1,50 @@
|
||||
// from https://github.com/pedroetb/node-oauth2-server-example
|
||||
|
||||
var Http = require("http")
|
||||
var path = require("path")
|
||||
var express = require("express")
|
||||
var bodyParser = require("body-parser")
|
||||
var oauthserver = require("oauth2-server")
|
||||
var cors = require("cors")
|
||||
|
||||
var app = express()
|
||||
|
||||
app.use(cors())
|
||||
|
||||
app.use(bodyParser.urlencoded({ extended: true }))
|
||||
|
||||
app.use(bodyParser.json())
|
||||
|
||||
app.oauth = oauthserver({
|
||||
model: require("./model.js"),
|
||||
grants: ["password", "client_credentials", "implicit"],
|
||||
debug: true
|
||||
})
|
||||
|
||||
app.all("/oauth/token", app.oauth.grant())
|
||||
|
||||
app.get("/swagger.yaml", function (req, res) {
|
||||
res.sendFile(path.join(__dirname, "swagger.yaml"))
|
||||
})
|
||||
|
||||
app.get("*", app.oauth.authorise(), function (req, res) {
|
||||
res.send("Secret secrets are no fun, secret secrets hurt someone.")
|
||||
})
|
||||
|
||||
app.use(app.oauth.errorHandler())
|
||||
|
||||
function startServer() {
|
||||
var httpServer = Http.createServer(app)
|
||||
httpServer.listen("3231")
|
||||
|
||||
return function stopServer() {
|
||||
httpServer.close()
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = startServer
|
||||
|
||||
if (require.main === module) {
|
||||
// for debugging
|
||||
startServer()
|
||||
}
|
||||
Reference in New Issue
Block a user