$ npm i egg-keycloak --save
// {app_root}/config/plugin.js
exports.keycloak = {
enable: true,
package: 'egg-keycloak'
};
// application.js
const KEY_CLOAK = Symbol('Application#keycloak')
const Keycloak = require('@anthinkingcoder/keycloak-koa-connect')
module.exports = {
get keycloak() {
if (!this[KEY_CLOAK]) {
this[KEY_CLOAK] = new Keycloak(this.config.keycloak.base, this.config.keycloak.kcConfig)
}
return this[KEY_CLOAK]
}
// {app_root}/config/config.default.js
exports.keycloak = {
middleware: {
logout: '/logout',
admin: '/',
},
base: {
store: true,
cookies: false,
idpHint: null,
scope: null
},
kcConfig: { //keycloak.json
clientId: '',
serverUrl: '',
realm: '',
bearerOnly: false
}
};
Support all configurations in keycloak-koa-connect. see config/config.default.js for more detail.
Please open an issue here.