Как интегрировать систему 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 для получения текущего авторизованного пользователя
Существует пара дополнений ember cli, которые связаны с интеграцией Keycloak и Ember: