Skip to content

Commit c6b13ed

Browse files
committed
bump
1 parent fc0da81 commit c6b13ed

5 files changed

Lines changed: 61 additions & 3 deletions

File tree

OpenFlow/src/OAuthProvider.ts

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import * as oauthServer from "oauth2-server";
2+
import * as winston from "winston";
3+
import * as express from "express";
4+
export class OAuthProvider {
5+
private _logger: winston.Logger;
6+
private app: express.Express;
7+
private clients = [{ clientId: 'thom', clientSecret: 'nightworld', redirectUris: [''] }];
8+
private tokens = [];
9+
private users = [{ id: '123', username: 'thomseddon', password: 'nightworld' }];
10+
static configure(logger: winston.Logger, app: express.Express): OAuthProvider {
11+
var instance = new OAuthProvider();
12+
instance._logger = logger;
13+
instance.app = app;
14+
15+
(app as any).oauth = oauthServer({
16+
model: instance
17+
});
18+
app.post('/oauth/token', (app as any).oauth.token());
19+
return instance;
20+
}
21+
public getAccessToken(bearerToken) {
22+
var tokens = this.tokens.filter(function (token) {
23+
return token.accessToken === bearerToken;
24+
});
25+
return tokens.length ? tokens[0] : false;
26+
}
27+
public getRefreshToken(bearerToken) {
28+
var tokens = this.tokens.filter(function (token) {
29+
return token.refreshToken === bearerToken;
30+
});
31+
return tokens.length ? tokens[0] : false;
32+
}
33+
public getClient(clientId, clientSecret) {
34+
var clients = this.clients.filter(function (client) {
35+
return client.clientId === clientId && client.clientSecret === clientSecret;
36+
});
37+
return clients.length ? clients[0] : false;
38+
}
39+
public saveToken(token, client, user) {
40+
this.tokens.push({
41+
accessToken: token.accessToken,
42+
accessTokenExpiresAt: token.accessTokenExpiresAt,
43+
clientId: client.clientId,
44+
refreshToken: token.refreshToken,
45+
refreshTokenExpiresAt: token.refreshTokenExpiresAt,
46+
userId: user.id
47+
});
48+
}
49+
public getUser(username, password) {
50+
var users = this.users.filter(function (user) {
51+
return user.username === username && user.password === password;
52+
});
53+
return users.length ? users[0] : false;
54+
};
55+
}

OpenFlow/src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,7 @@ rejectionEmitter.on("rejectionHandled", (error, promise) => {
238238
console.dir(error.stack);
239239
});
240240
import * as fs from "fs";
241+
import { OAuthProvider } from "./OAuthProvider";
241242
// import { GrafanaProxy } from "./grafana-proxy";
242243
var GrafanaProxy: any = null;
243244
try {
@@ -257,6 +258,7 @@ try {
257258
if (GrafanaProxy != null) {
258259
const grafana = await GrafanaProxy.GrafanaProxy.configure(logger, WebServer.app);
259260
}
261+
// OAuthProvider.configure(logger, WebServer.app);
260262
WebSocketServer.configure(logger, server);
261263
logger.info("listening on " + Config.baseurl());
262264
logger.info("namespace: " + Config.namespace);

OpenFlowNodeRED/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "openflow-nodered",
3-
"version": "1.0.90",
3+
"version": "1.0.91",
44
"description": "Simple wrapper around NodeRed, RabbitMQ and MongoDB to support a more scaleable NodeRed implementation.\r Also the \"backend\" for [OpenRPA](https://github.com/skadefro/OpenRPA)",
55
"main": "index.js",
66
"scripts": {

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.0.90
1+
1.0.91

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "openiap",
3-
"version": "1.0.90",
3+
"version": "1.0.91",
44
"description": "Simple wrapper around NodeRed, RabbitMQ and MongoDB to support a more scaleable NodeRed implementation.\r Also the \"backend\" for [OpenRPA](https://github.com/skadefro/OpenRPA)",
55
"main": "index.js",
66
"scripts": {
@@ -58,6 +58,7 @@
5858
"morgan": "^1.10.0",
5959
"multer": "^1.4.2",
6060
"multer-gridfs-storage": "^4.2.0",
61+
"oauth2-server": "^3.1.1",
6162
"openflow-api": "^1.0.20",
6263
"os-service": "^2.2.0",
6364
"passport": "^0.4.1",

0 commit comments

Comments
 (0)