๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ”‘ Keycloak

[Keycloak, Docker, Mac] Keycloak์—์„œ client, role, users ๋“ฑ ์„ค์ •ํ•˜๊ณ  React ์—ฐ๊ฒฐํ•˜๊ธฐ

by hyeong._.ing 2026. 4. 8.

 

 

์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ keycloak ์„ค์น˜๋ฅผ ํ•ด๋ณด์•˜๋‹ค.
์ด๋ฒˆ์—” ํ”„๋กœ์ ํŠธ์— ๋งž์ถฐ์„œ
client, role ๋“ฑ ์„ค์ •ํ•ด๋ณด์ž.

 

 

 

 

[ ์ด์ „ ํฌ์ŠคํŒ… - keycloak์˜ ๋‹ค์–‘ํ•œ ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ณ  docker๋กœ ์„ค์น˜ํ•ด๋ณด๊ธฐ ] 

 

 

[Keycloak, Docker, Mac] ๋‹ค์–‘ํ•œ ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ณ  Keycloak์„ Docker๋กœ ์ง์ ‘ ์„ค์น˜ํ•ด๋ณด์ž. (1)

Keycloak์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ณ ์ง์ ‘ ์„ค์น˜ํ•ด๋ณด์ž! ๋งŒ์•ฝ ์‹ค์ œ๋กœ keycloak์„ ์‚ฌ์šฉํ•  ์˜ˆ์ •์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค๋ฉด?์ €์˜ ๊ฒฝ์šฐ๋Š” ์นดํ…Œ๊ณ ๋ฆฌ์—๋„ ์žˆ์ง€๋งŒ VIP ์ดˆ๋Œ€์žฅ์ด๋ผ๋Š” ํ”„๋กœ์ ํŠธ์—์„œ K

post-this.tistory.com

 

 

 

 

Keycloak Client ๋งŒ๋“ค๊ธฐ

  • Create client
    ์ „ ํฌ์ŠคํŒ…์—์„œ realm์„ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ, ์ด๋•Œ ๋งŒ๋“ค์—ˆ๋˜ realm์— ๋“ค์–ด๊ฐ€์„œ ์„ค์ •ํ•ด์•ผํ•œ๋‹ค. Manage realms๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋งŒ๋“ค์—ˆ๋˜ realm์ด ๋ณด์ผ ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿผ ๊ทธ realm์„ ๋ˆ„๋ฅด๋ฉด ๋“ค์–ด๊ฐ€์ง„๋‹ค.

 

  • Client ์ž‘์„ฑํ•˜๊ธฐ
    Client ID๋Š” ์ฝ”๋“œ์— ์“ฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋„ˆ๋ฌด ๊ธธ์ง€ ์•Š๊ฒŒ ์ž‘์„ฑํ•˜๋Š”๊ฒŒ ์ข‹๋‹ค. 

 

  • Client ์†์„ฑ ์„ค์ •
    ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ Client authentication์ด Off๋กœ ์„ค์ •๋˜์–ด์žˆ์–ด์•ผํ•˜๊ณ  Authentication flow๋Š” Standard flow๋กœ ๋˜์–ด์žˆ์–ด์•ผํ•œ๋‹ค. ๊ทผ๋ฐ ์•„๋งˆ ์ด๋ ‡๊ฒŒ ์„ค์ •๋˜์–ด์žˆ์„ ๊ฒƒ์ด๋‹ค.

 

  • Client ๋กœ๊ทธ์ธ URL ์„ค์ •
    React ๊ฐœ๋ฐœ ์„œ๋ฒ„๊ฐ€ ๋ณดํ†ต 5173 ํฌํŠธ๋‹ˆ๊นŒ ์ด๋ ‡๊ฒŒ ๋„ฃ์—ˆ๋‹ค. ๋งŒ์•ฝ ํ”„๋ก ํŠธ์— ๋‹ค๋ฅธ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ๋งž๋Š” ํฌํŠธ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

 

 

 

 


 

 

 

 

Keycloak Role ๋งŒ๋“ค๊ธฐ

  • Create role 

 

  • ์ตœ๊ณ  ๊ด€๋ฆฌ์ž ์—ญํ• ๊ณผ ์ผ๋ฐ˜ ๊ด€๋ฆฌ์ž ์—ญํ•  ๋งŒ๋“ค๊ธฐ

 

 

 


 

 

 

 

Keycloak users ๋งŒ๋“ค๊ธฐ

  • Create users
    ์ตœ๊ณ ๊ด€๋ฆฌ์ž์˜ ๊ถŒํ•œ์„ ๊ฐ€์งˆ users๋ฅผ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์—ˆ๋‹ค. ํ…Œ์ŠคํŠธ์šฉ ์‚ฌ์šฉ์ž๋กœ ํ•˜๋‚˜ ๋งŒ๋“ค์—ˆ๋‹ค. 

 

  • super1์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ์„ค์ •ํ•˜๊ธฐ

 

  • super1์˜ ์—ญํ•  ๋ถ€์—ฌํ•˜๊ธฐ

 

  • ์ผ๋ฐ˜๊ด€๋ฆฌ์ž admin๋„ ๋งŒ๋“ค์–ด์„œ ์—ญํ•  ๋ถ€์—ฌํ•˜๊ธฐ
    ๊ณผ์ •์€ super1๊ณผ ๋™์ผํ•˜๋‹ค.

 

 

 


 

 

 

 

React - Keycloak ์—ฐ๊ฒฐํ•˜๊ธฐ

  • React ํ„ฐ๋ฏธ๋„ ๋“ค์–ด๊ฐ€์„œ ๋ช…๋ น์–ด ์ž…๋ ฅํ•˜๊ธฐ

npm install keycloak-js

 

  • keycloak.js ๋งŒ๋“ค๊ธฐ

import Keycloak from "keycloak-js";

const keycloak = new Keycloak({
  url: "http://localhost:8180",
  realm: "invitevip",
  clientId: "invitevip-react",
});

export default keycloak;
React ์•ฑ์ด ์–ด๋А Keycloak ์„œ๋ฒ„๋ฅผ ์“ฐ๋Š”์ง€, ์–ด๋А realm์„ ์“ฐ๋Š”์ง€, ์–ด๋А client๋ฅผ ์“ฐ๋Š”์ง€ ์•Œ๋ ค์ฃผ๋Š” ์„ค์ • ํŒŒ์ผ์ด๋‹ค. 

 

 

 


 

 

 

 

๋‹ค์Œ์— ํ•  ๊ฒƒ
React์—์„œ Keycloak๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ์„ ์„ค์ •ํ•ด๋ณด๊ฒ ๋‹ค.

 

[Keycloak, React, Docker] React์—์„œ Keycloak์„ ๋ณธ๊ฒฉ ์ ์šฉํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ํŒŒํ—ค์ณ๋ณด์ž.

keycloak.js๋ฅผ ๋งŒ๋“ค์–ด์„œkeycloak ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค.๋‹ค์Œ์€ ์ด ํ†ต์‹ ์„ ์ด์šฉํ•ด์„œ์›ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด์ž. [ Keycloak ์„ค์ •ํ•˜๊ธฐ ] [Keycloak, Docker, Mac] Keycloak์—์„œ client, role, users ๋“ฑ ์„ค

post-this.tistory.com