如何集成Ember.JS和Keycloak SSO系统

时间:2016-06-03 09:14:25

标签: javascript ember.js single-sign-on keycloak

我的问题很简单:有人知道如何整合Ember.JS和Keycloak(SSO系统)吗?我们目前在使用Keycloak JS Bower库(https://github.com/keycloak/keycloak-js-bower)将用户重定向到Keycloak自己的登录页面时遇到了问题,并且通常将Ember.JS与Keycloak集成。我们的问题是:

页面重新加载时双页重新加载

401登录Ember App时未经授权的HTTP代码。

感谢您的(宝贵)支持。

2 个答案:

答案 0 :(得分: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 to get current logged in user

JavaScript Adapter

MicroProfile JWT Authentication with Keycloak and React

答案 1 :(得分:0)

有几个ember cli插件可以处理Keycloak和Ember集成:

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

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