| name | naverworks-profile |
| description | Use when setting up or troubleshooting naverworks CLI multi-profile authentication, including profile creation, OAuth/JWT login, and CI/CD auth configuration. Triggers on "naverworks ํ๋กํ", "naverworks ์ธ์ฆ", "NW_PROFILE". If the task is executing NAVER WORKS API commands, use the naverworks-cli skill. If the task is build or release automation, use the build or deploy skill. |
๋ค์ด๋ฒ์์ค CLI ๋ฉํฐ ํ๋กํ
์ธ์ฆ์ด๋ ํ๋กํ ์ ์ฉ ์คํฌ์. ์ฌ๋ฌ ๋ค์ด๋ฒ์์ค ํ๊ฒฝ(๊ฐ๋ฐ/์คํ
์ด์ง/์ด์)์ ํ๋กํ๋ก ๋ถ๋ฆฌํ๊ณ OAuth/JWT ๋ก๊ทธ์ธ ๋ฌธ์ ๋ฅผ ๋ค๋ฃธ
๋ถ์์ฉ ์๋ ๋ช
๋ น์ด (auth setup, config set, auth login, auth refresh, auth logout)๋ ์ฌ์ฉ์ ํ์ธ ํ ์คํํ๋ค.
์ด ์คํฌ์ ์ธ ๋
- ์ ํ๋กํ ๋ง๋ค๊ธฐ, ๊ธฐ์กด ํ๋กํ ์ฌ์ค์
auth setup, auth login, auth status, auth refresh ํ๋ฆ ์ ๊ฒ
NW_PROFILE ๊ธฐ๋ฐ CI/CD ์ธ์ฆ ๊ตฌ์ฑ
- OAuth/JWT ์ธ์ฆ ์ค๋ฅ ํธ๋ฌ๋ธ์ํ
์ด ์คํฌ์ ์ฐ์ง ๋ง์์ผ ํ ๋
- ๋ฉ์ผ/๋๋ผ์ด๋ธ/๋๋ ํ ๋ฆฌ ๊ฐ์ API ๋ช
๋ น ์คํ์
naverworks-cli
- ์ด ์ ์ฅ์์ ๋น๋/ํ
์คํธ/๋ฐฐํฌ๋
build, test, deploy, version
์
์ถ๋ ฅ ๊ณ์ฝ
์
๋ ฅ
- ๊ณตํต:
profile(์๋ต ์ ํ์ฑ ํ๋กํ), ๋ฌธ์ ์ฆ์ ๋๋ ๋ชฉํ
- ํ๋กํ ์์ฑ/๋ก๊ทธ์ธ:
auth_mode (oauth/jwt), client_id, client_secret
- JWT ์ค์ :
service_account_id, private_key_path ์ถ๊ฐ
- ์ ํ ์
๋ ฅ:
bot_id, domain_id, scope
- ์ํ ์ ๊ฒ/๊ฐฑ์ /๋ก๊ทธ์์: ๊ธฐ์กด ํ๋กํ์ด๋ ํ๊ฒฝ๋ณ์๋ง ์์ด๋ ์งํ ๊ฐ๋ฅ
์ฑ๊ณต ๊ธฐ์ค
naverworks --profile <name> auth status ์ข
๋ฃ ์ฝ๋ 0
auth_method๊ฐ ์๋ํ ์ธ์ฆ ๋ฐฉ์(oauth ๋๋ jwt)๊ณผ ์ผ์น
expires_at์ด ํ์ฌ ์๊ฐ ์ดํ
์ถ๋ ฅ ํ์
๋ค์ 5๊ฐ๋ฅผ ์ฌ์ฉ์์๊ฒ ๋ณด๊ณ ํ๋ค
profile
auth_mode
config_source (interactive / manual / env)
verification (auth_method, expires_at, ํ์ ์ scopes)
next_action (์์ผ๋ฉด ์ฑ๊ณต)
์คํจ ์ ๋์
์๋ ํธ๋ฌ๋ธ์ํ
์ฐธ์กฐ. ํด๊ฒฐ ๋ถ๊ฐ ์ auth setup์ผ๋ก ์ฌ์ค์ .
๊ธฐ๋ณธ ์ ์ฐจ
OAuth ์ค์
- ์ฌ์ฉ์์๊ฒ ํ๋กํ๋ช
๊ณผ ์ธ์ฆ ๋ฐฉ์ ํ์ธ
naverworks --profile <name> auth setup ์คํ (๋ํํ)
auth setup ๋ง์ง๋ง ๋จ๊ณ์์ ์ฆ์ ๋ก๊ทธ์ธํ์ง ์์๋ค๋ฉด naverworks --profile <name> auth login ์คํ
- ๋ธ๋ผ์ฐ์ ์์ ๋ค์ด๋ฒ์์ค ๋ก๊ทธ์ธ ์๋ฃ
naverworks --profile <name> auth status๋ก ๊ฒ์ฆ
auth_method: oauth์ ๋ฏธ๋ ์๊ฐ์ expires_at ํ์ธ โ ์๋ฃ
- ์คํจ โ ํธ๋ฌ๋ธ์ํ
์ฐธ์กฐ
JWT ์ค์
- ์ฌ์ฉ์์๊ฒ ํ๋กํ๋ช
ํ์ธ
naverworks --profile <name> auth setup ์คํ (๋ํํ)
auth setup ๋ง์ง๋ง ๋จ๊ณ์์ ์ฆ์ ๋ก๊ทธ์ธํ์ง ์์๋ค๋ฉด naverworks --profile <name> auth login --jwt ์คํ
naverworks --profile <name> auth status๋ก ๊ฒ์ฆ
auth_method: jwt์ ๋ฏธ๋ ์๊ฐ์ expires_at ํ์ธ โ ์๋ฃ
- ์คํจ โ private_key_path ๊ฒฝ๋ก/๊ถํ(600) ํ์ธ
CI/CD (ํ๊ฒฝ๋ณ์ ๋ฐฉ์)
- ํ๊ฒฝ๋ณ์ ์ค์ (ํ๋กํ ์ง์ ํฌํจ):
export NW_PROFILE="<name>"
export NW_CLIENT_ID="$CI_CLIENT_ID"
export NW_CLIENT_SECRET="$CI_CLIENT_SECRET"
export NW_SERVICE_ACCOUNT_ID="$CI_SA_ID"
export NW_PRIVATE_KEY_PATH="/secrets/private.pem"
export NW_BOT_ID="$CI_BOT_ID"
export NW_SCOPE="bot directory calendar"
naverworks auth login --jwt (NW_PROFILE๋ก ํ๋กํ ๊ฒฐ์ )
naverworks auth status๋ก ๊ฒ์ฆ
auth_method: jwt์ ๋ฏธ๋ ์๊ฐ์ expires_at ํ์ธ โ ์๋ฃ
- ์คํจ โ ํธ๋ฌ๋ธ์ํ
์ฐธ์กฐ
๊ฒ์ฆ & ํธ๋ฌ๋ธ์ํ
ํ๋กํ ์ฐ์ ์์
--profile ํ๋๊ทธ (์ต์ฐ์ )
NW_PROFILE ํ๊ฒฝ๋ณ์
current_profile (config.json ๋ด ์ ์ฅ๊ฐ)
"default" (๊ธฐ๋ณธ๊ฐ)
์ฃผ์ ๋ช
๋ น์ด
naverworks --profile <name> auth status
naverworks --profile <name> auth refresh
naverworks --profile <name> auth logout
naverworks --profile <name> config list
naverworks --profile <name> config get <key>
โ auth status ์ถ๋ ฅ์๋ authenticated ํ๋๊ฐ ์๊ณ , ์ฑ๊ณต ์ auth_method, expires_at, scopes๊ฐ ์ถ๋ ฅ๋๋ค.
ํธ๋ฌ๋ธ์ํ
| ์ฆ์ | ์์ธ | ํด๊ฒฐ |
|---|
| "ํ๋กํ 'X'์(๋ฅผ) ์ฐพ์ ์ ์์ต๋๋ค" | config.json์ ํ๋กํ ์์ | naverworks --profile X auth setup |
| ํ ํฐ ๋ง๋ฃ | access_token ์ ํจ๊ธฐ๊ฐ ์ด๊ณผ | auth refresh ๋๋ ์ฌ๋ก๊ทธ์ธ |
| JWT ๋ก๊ทธ์ธ ์คํจ | private key ๊ฒฝ๋ก/๊ถํ ์ค๋ฅ | private_key_path ํ์ธ, ํ์ผ ๊ถํ 600 |
| ํ๊ฒฝ๋ณ์๊ฐ ๋ฌด์๋จ | --profile ํ๋๊ทธ๊ฐ ์ฐ์ | ํ๋๊ทธ ์ ๊ฑฐ ๋๋ ๊ฐ ๋ณ๊ฒฝ |
์ฐธ๊ณ
- ์ฃผ์ ์ค์ ํค๋
client_id, client_secret, service_account_id, private_key_path, domain_id, bot_id, scope, default_calendar_user_id, scim_access_token
- ํ๊ฒฝ๋ณ์๋
NW_CLIENT_ID, NW_CLIENT_SECRET, NW_SERVICE_ACCOUNT_ID, NW_PRIVATE_KEY_PATH, NW_DOMAIN_ID, NW_BOT_ID, NW_SCOPE, NW_DEFAULT_CALENDAR_USER_ID, NW_SCIM_ACCESS_TOKEN
- ์ค์ ํ์ผ์ Linux/macOS์์
~/.config/naverworks/config.json, Windows์์ %APPDATA%\\naverworks\\config.json
- ํ ํฐ ํ์ผ์ Linux/macOS์์
~/.config/naverworks/token.json, Windows์์ %APPDATA%\\naverworks\\token.json
- ๋ ๊ฑฐ์ ๋จ์ผ ์ค์ ์ ์๋์ผ๋ก
default ํ๋กํ๋ก ๋ง์ด๊ทธ๋ ์ด์
๋จ