Initial Commit
This commit is contained in:
70
bin/postinstall.js
Normal file
70
bin/postinstall.js
Normal file
@@ -0,0 +1,70 @@
|
||||
const fs = require("fs/promises")
|
||||
|
||||
;(async () => {
|
||||
const PATH_BOOTSTRAP = './node_modules/@strapi/plugin-users-permissions/server/bootstrap/index.js'
|
||||
if (await fs.access(PATH_BOOTSTRAP).then(() => true, () => false)) {
|
||||
let data = await fs.readFile(PATH_BOOTSTRAP, 'utf8')
|
||||
data = data.replace(` const grantConfig = {
|
||||
email: {`, ` const grantConfig = {
|
||||
keycloak: {
|
||||
enabled: false,
|
||||
icon: 'key',
|
||||
key: '',
|
||||
secret: '',
|
||||
oauth: 2,
|
||||
subdomain: '',
|
||||
callback: \`\${baseURL}/keycloak/callback\`,
|
||||
scope: ['profile', 'email', 'roles', 'openid'],
|
||||
},
|
||||
email: {`)
|
||||
await fs.writeFile(PATH_BOOTSTRAP, data, 'utf8')
|
||||
} else {
|
||||
console.log("File not found:", PATH_BOOTSTRAP)
|
||||
}
|
||||
|
||||
|
||||
const PATH_SERVICES = './node_modules/@strapi/plugin-users-permissions/server/services/providers.js'
|
||||
if (await fs.access(PATH_SERVICES).then(() => true, () => false)) {
|
||||
let data = await fs.readFile(PATH_SERVICES, 'utf8')
|
||||
data = data.replace(` switch (provider) {
|
||||
case 'discord': {`, ` switch (provider) {
|
||||
case 'keycloak': {
|
||||
const keycloak = purest({
|
||||
provider: 'keycloak',
|
||||
config: {
|
||||
'keycloak': {
|
||||
'https://auth.sebse.de/auth/realms/public': {
|
||||
'__domain': {
|
||||
'auth': {
|
||||
'auth': {
|
||||
'bearer': '[0]'
|
||||
}
|
||||
},
|
||||
},
|
||||
'{endpoint}': {
|
||||
'__path': {
|
||||
'alias': '__default',
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
keycloak.query().get('protocol/openid-connect/userinfo').auth(access_token).request((err, res, body) => {
|
||||
if (err) {
|
||||
callback(err);
|
||||
} else {
|
||||
callback(null, {
|
||||
username: body.preferred_username,
|
||||
email: body.email
|
||||
});
|
||||
}
|
||||
});
|
||||
break;
|
||||
}
|
||||
case 'discord': {`)
|
||||
await fs.writeFile(PATH_SERVICES, data, 'utf8')
|
||||
} else {
|
||||
console.log("File not found:", PATH_SERVICES)
|
||||
}
|
||||
})()
|
||||
Reference in New Issue
Block a user