39 lines
921 B
JavaScript
39 lines
921 B
JavaScript
|
const Keycloak = require("keycloak-connect");
|
||
|
|
||
|
const keycloak = new Keycloak(
|
||
|
{},
|
||
|
{
|
||
|
clientId: "microfrontend-admin",
|
||
|
bearerOnly: true,
|
||
|
serverUrl: "https://kc.bro-js.ru",
|
||
|
realm: "bro-js",
|
||
|
}
|
||
|
);
|
||
|
|
||
|
const kcAdminClientPromise = import("@keycloak/keycloak-admin-client")
|
||
|
.then(
|
||
|
async ({ default: KcAdminClient }) =>
|
||
|
new KcAdminClient({
|
||
|
baseUrl: "https://kc.bro-js.ru",
|
||
|
realmName: "bro-js",
|
||
|
})
|
||
|
)
|
||
|
.then(async (kcAdminClient) => {
|
||
|
const credentials = {
|
||
|
username: process.env['KC.TUZ.USERNAME'],
|
||
|
password: process.env['KC.TUZ.PASSWORD'],
|
||
|
grant_type: "password",
|
||
|
grantType: "password",
|
||
|
clientId: "microfrontend-admin",
|
||
|
}
|
||
|
await kcAdminClient.auth(credentials);
|
||
|
|
||
|
setInterval(() => kcAdminClient.auth(credentials), 3 * 24 * 60 *60 * 1000);
|
||
|
|
||
|
return kcAdminClient;
|
||
|
});
|
||
|
|
||
|
module.exports = {
|
||
|
keycloak,
|
||
|
kcAdminClientPromise,
|
||
|
}
|