キークローケを使用して、Javaで書かれたものと、JavaScriptで書かれたもの(Reactがあるもの)の両方を安全にする予定です。Keycloak現在ログインしているユーザーを取得するためのJavaScript API
ユーザーがkeycloakでログインした後、ログインするユーザーとそのユーザーが持つレルム/クライアントの役割を取得する必要があります。
- Javaアプリケーションの場合、keycloak Java API
(request -> KeycloakSecurityContext -> getIdToken -> getPreferredUsername/getOtherClaims)
を試しました。彼らはうまく動作するようです。 JavaScriptアプリケーションの場合、次のコードを試しましたが、Keycloakをinitに正常に取得できませんでした(これは、ユーザーが既にkeycloakによって認証されてからWebアプリケーションコードにあります。 )どのような役割でログイン誰が取得:
var kc = Keycloak({ url: 'https://135.112.123.194:8666/auth', realm: 'oneRealm', clientId: 'main' }); //this does not work as it can't find the keycloak.json file under WEB-INF //var kc = Keycloak('./keycloak.json'); kc.init().success(function() { console.log("kc.idToken.preferred_username: " + kc.idToken.preferred_username); alert(JSON.stringify(kc.tokenParsed)); var authenticatedUser = kc.idTokenParsed.name; console.log(authenticatedUser); }).error(function() { window.location.reload(); });
私はウェブアプリは、現在のユーザーの情報を取得する必要があることはかなり一般的だろうと仮定します。上記のコードがうまくいかなかった理由は誰でも知っていますか?
ありがとうございました。
[link](https://keycloak.gitbooks.io/documentation/securing_apps/topics/oidc/javascript-adapter.html)の有効期限が切れています。あなたは新しいものを提供できますか? – user7244716
@ user7244716 - ok、リンクが更新されました – ahus1