Как интегрировать систему Ember.JS и Keycloak SSO

Мой вопрос довольно прост: кто-нибудь знает, как интегрировать Ember.JS и Keycloak (система SSO)? В настоящее время мы сталкиваемся с проблемой использования библиотеки Keycloak JS Bower ( https://github.com/keycloak/keycloak-js-bower) для перенаправления пользователей на собственную страницу входа в Keycloak и для общей интеграции Ember.JS с Keycloak. Наши проблемы:

Двойная перезагрузка страницы при перезагрузке страницы,

401 несанкционированный HTTP-код при входе в Ember App.

Спасибо за вашу (драгоценную) поддержку.

1 ответ

Вы можете использовать скрипт JS: убедитесь, что у вас есть скрипт в вашем ключе: https://yourdoamin.com/auth/js/keycloak.js

Если да, добавьте этот код на страницу входа:

<head>
    <script src="https://yourdoamin.com/auth/js/keycloak.js"></script>
    <script>
        var keycloak = Keycloak({
            "realm": "relam_name",
            "url": "https://yourdomain.com/auth",
            "ssl-required": "external",
            "resource": "client_id",
            "verify-token-audience": true,
            "credentials": {
                "secret": "secret_code"
            },
            "use-resource-role-mappings": true,
            "confidential-port": 0,
            "policy-enforcer": {},
            "onLoad":'login-required',
            "clientId": "client_id"
        });

        var keycloak = Keycloak();
        keycloak.init().success(function(authenticated) {
            console.log(keycloak);
            alert(authenticated ? 'authenticated' : 'not authenticated');
        }).error(function() {
            alert('failed to initialize');
        });
    </script>
</head>

В console.log(keycloak); Keycloak возвращает токен и другую информацию о пользователе.

Больше информации:

Keycloak JavaScript API для получения текущего авторизованного пользователя

Адаптер JavaScript

Аутентификация MicroProfile JWT с помощью Keycloak и React

Существует пара дополнений ember cli, которые связаны с интеграцией Keycloak и Ember:

https://www.npmjs.com/package/ember-cli-keycloak

https://www.npmjs.com/package/ember-keycloak-auth

Другие вопросы по тегам