40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
|
import { auth, ConfigParams } from 'express-openid-connect';
|
||
|
import ChatServer from './index';
|
||
|
|
||
|
const config: ConfigParams = {
|
||
|
authRequired: false,
|
||
|
auth0Logout: false,
|
||
|
secret: process.env.AUTH_SECRET || 'keyboard cat',
|
||
|
baseURL: process.env.PUBLIC_URL,
|
||
|
clientID: process.env.AUTH0_CLIENT_ID,
|
||
|
issuerBaseURL: process.env.AUTH0_ISSUER,
|
||
|
routes: {
|
||
|
login: false,
|
||
|
logout: false,
|
||
|
},
|
||
|
};
|
||
|
|
||
|
export function configureAuth0(context: ChatServer) {
|
||
|
context.app.use(auth(config));
|
||
|
|
||
|
context.app.get('/chatapi/login', (req, res) => {
|
||
|
res.oidc.login({
|
||
|
returnTo: process.env.PUBLIC_URL,
|
||
|
authorizationParams: {
|
||
|
redirect_uri: process.env.PUBLIC_URL + '/chatapi/login-callback',
|
||
|
},
|
||
|
});
|
||
|
});
|
||
|
|
||
|
context.app.get('/chatapi/logout', (req, res) => {
|
||
|
res.oidc.logout({
|
||
|
returnTo: process.env.PUBLIC_URL,
|
||
|
});
|
||
|
});
|
||
|
|
||
|
context.app.all('/chatapi/login-callback', (req, res) => {
|
||
|
res.oidc.callback({
|
||
|
redirectUri: process.env.PUBLIC_URL!,
|
||
|
})
|
||
|
});
|
||
|
}
|