UNPKG

@zhaochy/egg-oauth2-server

Version:

koa-oauth-server(node-oauth2-server) plugin for egg

41 lines (32 loc) 1.35 kB
'use strict'; const path = require('path'); const OAuth2Server = require('./lib/server'); const assert = require('assert'); const MIDDLEWARE_NAME_OAUTH2 = 'oauth2'; module.exports = app => { app.coreLogger.info('[egg-oauth2-server] egg-oauth2-server begin start'); const start = Date.now(); const { config } = app; const model = app.loader.loadFile(path.join(app.config.baseDir, 'app/extend/oauth.js')) // @see https://github.com/Azard/egg-oauth2-server/issues/31 || app.loader.loadFile(path.join(app.config.baseDir, 'app/extend/oauth.ts')); if (model === null) { app.coreLogger.error('[egg-oauth2-server] not find app/extend/oauth.js, egg-oauth2-server start fail'); return; } try { app.oAuth2Server = new OAuth2Server(config.oAuth2Server, model); } catch (e) { app.coreLogger.error('[egg-oauth2-server] start fail, %s', e); return; } // insert OAuth2 Authentication Middleware const index = config.appMiddleware.indexOf(MIDDLEWARE_NAME_OAUTH2); assert.equal( index, -1, `Duplication of middleware name found: ${MIDDLEWARE_NAME_OAUTH2}. Rename your middleware other than "${MIDDLEWARE_NAME_OAUTH2}" please.` ); config.appMiddleware.unshift(MIDDLEWARE_NAME_OAUTH2); app.coreLogger.info('[egg-oauth2-server] egg-oauth2-server started use %d ms', Date.now() - start); };