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,
|
|
} |