TypeScript ๊ฐ์ ๋น์ ๋ฐ ๊ธฐ์
ํ์ ์คํฌ๋ฆฝํธ
์ธ์ฆ์ ์๋ํ ๋ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ค๋ฅ: DialogContext.beginDialog(): ID๊ฐ 'AuthPrompt'์ธ ๋ํ ์์๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
WaterfallStepContext์์.
Generator.next์์ (
D:\home\site\wwwroot\node_modules\botbuilder-dialogs\lib\dialogContext.js:7:71
์๋ก์ด ์ฝ์์์ (
__awaiter์์ (D:\home\site\wwwroot\node_modules\botbuilder-dialogs\lib\dialogContext.js:3:12)
WaterfallStepContext.beginDialog(D:\home\site\wwwroot\node_modules\botbuilder-dialogs\lib\dialogContext.js:119:16)
MultiProviderAuthDialog.firstStep์์ (D:\home\site\wwwroot\node_modules\bot-solutions\lib\authentication\multiProviderAuthDialog.js:75:34)
WaterfallDialog์์.
Generator.next์์ (
D:\home\site\wwwroot\node_modules\botbuilder-dialogs\lib\waterfallDialog.js:7:71
๊ฐ์ ์ด์์คํดํธ ๋ฐ ๊ธฐ์ ์ ๋ฐฐํฌํฉ๋๋ค. ์คํฌ์์ MultiProviderAuthDialog ํ์ฑํ
์ธ์ฆ ๋ํ ์์๋ฅผ ์ฌ์ฉํ์ฌ Azure Active Directory v2๋ก ์ธ์ฆ
๋ก๊ทธ์ธ์ ์ํ ๋ก๊ทธ์ธ ์นด๋ ๋ฐ๊ธฐ
์ค๋ฅ: DialogContext.beginDialog(): ID๊ฐ 'AuthPrompt'์ธ ๋ํ ์์๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
WaterfallStepContext์์.
Generator.next์์ (
D:\home\site\wwwroot\node_modules\botbuilder-dialogs\lib\dialogContext.js:7:71
์๋ก์ด ์ฝ์์์ (
__awaiter์์ (D:\home\site\wwwroot\node_modules\botbuilder-dialogs\lib\dialogContext.js:3:12)
WaterfallStepContext.beginDialog(D:\home\site\wwwroot\node_modules\botbuilder-dialogs\lib\dialogContext.js:119:16)
MultiProviderAuthDialog.firstStep์์ (D:\home\site\wwwroot\node_modules\bot-solutions\lib\authentication\multiProviderAuthDialog.js:75:34)
WaterfallDialog์์.
Generator.next์์ (
D:\home\site\wwwroot\node_modules\botbuilder-dialogs\lib\waterfallDialog.js:7:71
์ด ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค @tomSauret847 ! ์ ๋ฐ์ดํธ๋๋ ๋๋ก ๋ฐ๋ก ์ฐ๋ฝ๋๋ฆฌ๊ฒ ์ต๋๋ค ๐.
์๋ ํ์ธ์ @tomSauret847 - ์ง์ฐ์ ๋ํด ์ฃ์กํฉ๋๋ค. ๋ค์ ๋จ๊ณ์ ๋ฐ๋ผ TypeScript ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์ฌํ ํ์ต๋๋ค.
OAuthPromptSettings
๋ฐฐ์ด์ MultiProviderAuthDialog
์์ฑ์์ ์ ๋ฌappsettings.oauthConnections
์ ์์ฑ ์ botSettings
AADv2
์ฐ๊ฒฐ ์ถ๊ฐAADv2
์ฐ๊ฒฐ ์ค์ ์ ๋ฐ์ดํธ๋๋ ๋๋ก ๋ฐ๋ก ์ฐ๋ฝ๋๋ฆฌ๊ฒ ์ต๋๋ค ๐.
์๋ ํ์ธ์ @tomSauret847 - ์ด ์ปค๋ฐ ์์ ์ด ๋ฌธ์ ๋ฅผ ์์ ํ์ต๋๋ค.
์ด๊ฒ์ ์ค์ ๋ก bot-solutions
๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฌธ์ ์์ผ๋ฉฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฒ์ 1.0 ๊ณผ ํจ๊ป ๋ฆด๋ฆฌ์ค๋ ์์ ์ฌํญ์ ์์ฝํ์ต๋๋ค.
๊ทธ๋์ ์์ ์ฌํญ์ ์ง์ ํ ์คํธํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด
npm install
๋ฅผ ์คํํ์ฌ ์ข
์์ฑ์ ์ค์นํฉ๋๋ค.npm run build
๋ฅผ ์คํํ์ฌ ์๋ฃจ์
์ ๋น๋ํฉ๋๋ค.npm pack
๋ฅผ ์คํํ์ฌ .tgz
ํ์ผ์ ์์ฑํฉ๋๋ค. ๋์ผํ ์์น์ bot-solutions-version.tgz๋ผ๋ ํ์ผ์ ์์ฑํด์ผ ํฉ๋๋ค."bot-solutions": "^1.0.0"
์์ "bot-solutions": "<PATH_TO_TGZ>"
๋ฐ๊ฟ๋๋ค.์ฌ๋ฌ๋ถ์ ๋ต๋ณ์ ๊ท๊ธฐ์ธ์ด๊ฒ ์ต๋๋ค ๐.
@Batta32 ๋ฅผ ์ฐพ์์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค. ์ด ํ๋ก์ธ์ค์์ ์ฌ์ ํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ค๋ฅ๋
์ค๋ฅ: ์ด๋ฆ์ด {connection name}์ธ ์ฐ๊ฒฐ ์ค์ ์ ์ฐพ์ ์ ์์ต๋๋ค.
์คํฌ์ ๋ํ SSO๋ฅผ ์ค์ ํ๊ธฐ ์ํด ์ฌ๊ธฐ ์ ์ค๋ช ๋ ๋๋ก ์ฐ๊ฒฐ์ ์ค์ ํ๊ณ ์์ต๋๋ค.
์ฌ์ ํ typescript ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ๊ฐ ๊ธฐ์ ์์ ์ธ์ฆ ์ฐ๊ฒฐ์ด ํ์ํฉ๋๊น?
์๋๋ฉด C# ๊ธฐ์ ์ ๋ํด ์ค๋ช
๋ ๋๋ก ๋จ์ผ SSO๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๊น?
๊ธฐ์ ์ ์ฐ๊ฒฐ์ ์ถ๊ฐํ๋ฉด ๋ก๊ทธ์ธ ํ๋กฌํํธ๊ฐ ํ์๋์ง๋ง ๋ก๊ทธ์ธ์ ์๋ฃํ ํ ํ ํฐ์ ๋ค์ ๋ฐ์ง ๋ชปํฉ๋๋ค. VA์์ ๋จ์ผ ์ฐ๊ฒฐ์ ์ค์ ํด์ผ ํ๋์ง ๋๋ ์ธ์ฆ์ด ํ์ํ ๊ฐ ๊ธฐ์ ์ ์ฐ๊ฒฐ์ ์ค์ ํด์ผ ํฉ๋๋ค.
@tomSauret847 ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค. ์ ๋ฐ์ดํธ๋๋ ๋๋ก ๋ฐ๋ก ์ฐ๋ฝ๋๋ฆฌ๊ฒ ์ต๋๋ค ๐!
์๋
ํ์ธ์ @tomSauret847 - ๋ฌธ์ ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์ฌํ ํ์ต๋๋ค. ๊ทธ๊ฒ์์ด๊ธฐ ๋๋ฌธ์ name
์ฌ์ฐ oauthConnections
์ appsettings.json
๋ฐ๋ ๋ค๋ฅด๋ค connectionName
์ฌ์ฐ OAuthPromptSettings
๋น์ ์ด ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ด๊ฒ์ ๊ณ์ ๊ฒํ ํ๊ณ ์์์ ์ธ๊ธํ ์ง๋ฌธ์ ๋ถ์ํ ๊ฒ์ ๋๋ค. ์ ๋ฐ์ดํธ๋๋ ๋๋ก ๋ฐ๋ก ์ฐ๋ฝ๋๋ฆฌ๊ฒ ์ต๋๋ค ๐.
๋ฌธ์ ๋ฅผ ์ฌํํ๊ธฐ ์ํด ์ํํ ๋จ๊ณ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
name
์ฌ์ฐ oauthConnections
์ appsettings.json
๋ฐ๋ ๋ค๋ฅด๋ค connectionName
์ฌ์ฐ OAuthPromptSettings
์ฌ์ฉํ๋_connectionName๊ณผ ์ด๋ฆ์ด ๋ค๋ฅผ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ์ฌํ๋ฉ๋๋ค_
_๋ฌธ์ ์ฌํ_
์๋ ํ์ธ์ @tomSauret847
์ฌ์ ํ typescript ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ๊ฐ ๊ธฐ์ ์์ ์ธ์ฆ ์ฐ๊ฒฐ์ด ํ์ํฉ๋๊น?
TypeScript Skill ๋ฒ์ 1.0 ์ด ์ถ์๋ ๋๊น์ง ๊ฐ TypeScript Skill์์ ์ธ์ฆ ์ฐ๊ฒฐ์ด ํ์ํฉ๋๋ค.
์๋๋ฉด C# ๊ธฐ์ ์ ๋ํด ์ค๋ช ๋ ๋๋ก ๋จ์ผ SSO๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๊น?
TypeScript์ฉ SSO๋ TypeScript ๋ฒ์ 1.0์ด ์์ง ์ถ์๋์ง ์์๊ธฐ ๋๋ฌธ์ C# Skills์ ๋ํด ์ค๋ช ๋์ด ์์ผ๋ฏ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋์์ด ๋์ จ๋ค๋ฉด ์๋ ค์ฃผ์ธ์ ๐.
@ tomSauret847 - ์๋ฌ Error: Could not find Connection Setting with name {connection name}
๋๊ธฐ ๋๋ฌธ์ name
์ฌ์ฐ oauthConnections
์ appsettings
๋ฐ๋ ์์ด connectionName
์ฌ์ฐ OAuthPromptSettings
์ฌ์ฉ ์ค์
๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ๋ ์์ฑ์ด ๋์ผํ์ง ํ์ธํด์ผ ํฉ๋๋ค.
์์ธํ ์ฌํญ ์ ์์
@Batta32 ์ด ๋ฌธ์ ๋ฅผ
์ธ์ฆ์ ๋ํ ์ด ์์ ์ฌํญ์ 1.0 ๋ฆด๋ฆฌ์ค ์ด์ ์ NPM์ ๊ฒ์๋ ์์ ์ ๋๊น?
ํ๋ก๋์ ํ๊ฒฝ์ ๊ฒฝ์ฐ ๊ฒ์๋ NPM ํจํค์ง๊ฐ ํ์ํ๋ฏ๋ก ์ด VA๋ฅผ ํ๋ก๋์ ์ผ๋ก ์ด๋ํ๊ธฐ ์ ์ ์ด ์์ ์ฌํญ์ ๊ฒ์ํด์ผ ํฉ๋๋ค. ๋๋ ๋น์ ์ ๋๋ต์์ฃผ์๋ฅผ ๊ธฐ์ธ์ผ ๊ฒ์ ๋๋ค.
@tomSauret847 - ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค! TypeScript ๋ฒ์ 1.0์ PR์ ๋ค์ ์์ ์ฌํญ์ ์ถ๊ฐํฉ๋๋ค.
[TypeScript][Bot-Solutions] Implement changes in Bot-Solutions to 1.0 release
[TypeScript][Virtual Assistant] Implement changes in Virtual Assistant to 1.0 release
[TypeScript][Skill] Implement changes in Skill to 1.0 release
์ด์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์๋ ๋๋ก ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค. ํํธ TypeScript์์ ์ธ์ฆ ํ๋ก์ธ์ค๋ฅผ ๊ฒ์ฆํ๋ ์์ ์ ํ๊ณ ์์ต๋๋ค.
@tomSauret847 - ์ธ์ฆ ํ๋ก์ธ์ค ์ค์ Skill State ๋ณ์๊ฐ _undefined_๋ผ๋ ๋ ๋ค๋ฅธ ๋ฌธ์ ๋ฅผ ์๋ณํ์ต๋๋ค.
์ด ์ปค๋ฐ์ ํตํฉํ Skill State ์ ๊ทผ์์ ๋ํ ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ๋ PR #3561์ ๊ฐ์ด๋๋ก ์ฌ์ฉํ์ต๋๋ค.
์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ๋ฉด ์ธ์ฆ ํ๋ก์ธ์ค๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํฉ๋๋ค. ์ด ๋ฌธ์ ๋ TypeScript v1.0์ด ๋ณํฉ๋๋ ์ฆ์ ์์ ๋ ๊ฒ์
๋๋ค.
์ด๊ฒ์ ์ด ๋ถ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ ํ๊ฒฝ์
๋๋ค. feature/southworks/test-fix-auth-skill
:
๊ทธ๋์ ์์ ์ฌํญ์ ์ง์ ํ ์คํธํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
npm install
๋ฅผ ์คํํ์ฌ ์ข
์์ฑ์ ์ค์นํฉ๋๋ค.npm run build
๋ฅผ ์คํํ์ฌ ์๋ฃจ์
์ ๋น๋ํฉ๋๋ค.npm pack
๋ฅผ ์คํํ์ฌ .tgz ํ์ผ์ ์์ฑํฉ๋๋ค. ๋์ผํ ์์น์ bot-solutions-version.tgz๋ผ๋ ํ์ผ์ ์์ฑํด์ผ ํฉ๋๋ค."bot-solutions": "^1.0.0"
์์ "bot-solutions": "<PATH_TO_TGZ>"
๋ฐ๊ฟ๋๋ค.npm install
๋ฅผ ์คํํ์ฌ ์ข
์์ฑ์ ์ค์นํฉ๋๋ค.npm run build
๋ฅผ ์คํํ์ฌ ์๋ฃจ์
์ ๋น๋ํฉ๋๋ค.์ฐ๋ฆฌ๋ ๋น์ ์ ๋๋ต์์ฃผ์๋ฅผ ๊ธฐ์ธ์ ๋๋ค. ๐
_์ ์๋์ง ์์ ๊ฐ์ ๊ฐ์ ธ์ค๋ SkillState ๋ณ์_
_์ธ์ฆ ํ๋ก์ธ์ค๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ ์ค_
@Batta32 ๋ค์ํ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค! ํ ์คํธ๋ฅผ ์ํด 1.0 ํจํค์ง๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ์์ง ์คํฌ์์ ์ฐ๊ฒฐ ์ค์ ์ ์ ์งํด์ผ ํ์ง๋ง ์ธ์ฆ์ด ์๋ํ๋๋ก ํ ์ ์์ต๋๋ค. VA๊ฐ ํ ํฐ ์๋ต์ ์์ ํ๊ณ ์ฒ๋ฆฌํ ์คํฌ์ ์ ๋ฌํ๋ ์์น๋ฅผ ํ์ธํ ์ ์์์ต๋๋ค.
@Batta32 ์ฐ๋ฆฌ๋ 2๊ฐ์ง ๊ธฐ์ ์ ์ธ์ฆ์ ์ค์ ํ์ผ๋ฉฐ Teams ์ฑ๋์์ ์ ์๋ํ๊ณ ์์ต๋๋ค. ์งํต ์ฑ๋์ด ์ธ์ฆ ํ๋กฌํํธ๋ฅผ ํต๊ณผํ์ง ์์ต๋๋ค. ์คํฌ์ ๋ก๊ทธ์ธ ์ฑ๊ณต ํ ํ ํฐ์ ๋ค์ ๋ฐ์ง ๋ชปํฉ๋๋ค. ์ด ๋ฌธ์ ๋ ์งํต ์ฑ๋์๋ง ์์ต๋๋ค. ์ฐ๋ฆฌ๋ "๋งค์ง ์ฝ๋"๋ฅผ ์ ๋ ฅํ์ง ์๋๋ก ํฅ์๋ ์ธ์ฆ ์ต์ ์ ์ ๊ณตํ๊ณ ํ์ฑํํ ์ํ ์ง์ ํ์ ํด๋ผ์ด์ธํธ๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ํฅ์๋ ์ธ์ฆ์ ์ถ๊ฐํ๊ธฐ ์ ์๋ ์๋ํ์ง๋ง ์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ํ์๋ ์คํฌ์ด ๋ ์ด์ ํ ํฐ ์๋ต์ ๋ฐ์ง ์์ต๋๋ค. ๊ธฐ์ ์ ์ทจ์ํ๊ณ ํด๋น ๋ํ ์์๋ก ๋์๊ฐ๋ฉด ํ ํฐ์ด ํ์๋๊ณ ๋ํ๋ฅผ ์๋ฃํ ์ ์์ต๋๋ค. ์ด ๋ฌธ์ ์ ์์ธ์ด ๋ ์ ์๋ ์ฌํญ์ ๋ํ ์๊ฐ์ด ์์ผ๋ฉด ์๋ ค์ฃผ์ธ์.
@tomSauret847 ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ํด๋น ์๋๋ฆฌ์ค๋ฅผ ๊ฒํ ํ๊ณ ์ต๋ํ ๋นจ๋ฆฌ ์ฐ๋ฝ๋๋ฆฌ๊ฒ ์ต๋๋ค!
์๋๋ฆฌ์ค ๊ฒํ ๋ฅผ ์์ํ๋ ค๋ฉด:
@Batta32 ์ ๋ค์ ํ ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ฌ๊ธฐ์ ์๋ botbuilder-solutions ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ง์ ๋ผ์ธ ์ํ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค
"๋ง๋ฒ์ ์ฝ๋"๋ ์ด ์คํ ์ค๋ฒํ๋ก ์ง๋ฌธ์ ์ค๋ช
๋์ด ์์ต๋๋ค.
๋ด ์ฌ์ฉ์๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ธ์ฆํ ํ ๋ํ์ ๋ณต์ฌํ์ฌ ๋ถ์ฌ๋ฃ๋ ๋ฐ ํ์ํ ์ฝ๋์ผ ๋ฟ์
๋๋ค. ํฅ์๋ ์ธ์ฆ์ ๊ตฌํํ์ฌ ๋ด ์ฌ์ฉ์์ ๋ํ ์ด ๋จ๊ณ๋ฅผ ์ ๊ฑฐํ๋ฏ๋ก ์ธ์ฆ๋ง ํ์ํ๊ณ ํ ํฐ์ด ๋ฐฐํ์์ ๋ด์ผ๋ก ๋ค์ ์ ๋ฌ๋ ๋ ๋ํ๊ฐ ์งํ๋ฉ๋๋ค.
@tomSauret847์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ๊ฒํ ํ๊ณ ์ ๋ฐ์ดํธ๊ฐ ์์ผ๋ฉด ์ฌ๊ธฐ์์ ์๋ ค ๋๋ฆฌ๊ฒ ์ต๋๋ค ๐!
@tomSauret847 ๋ ์๋ ํ์ธ์, ์ธ์ฆ ์๋๋ฆฌ์ค๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ด ๋ฌธ์ ๋ฅผ ์ฌํ ํ
๋ค์๊ณผ ๊ฐ์ ๋ช ๊ฐ์ง ์ง๋ฌธ ์ด ์์ต๋๋ค.
์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ ์ค์ ์ ๋๋ค:
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*",
"BotName": "skillbot-name",
"DirectLineSecret": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"EnableDirectLineEnhancedAuthentication": true,
"SpeechServiceRegionIdentifier": "",
"SpeechServiceSubscriptionKey": ""
}
์ฐ๋ฆฌ๊ฐ ์ํํ ๋จ๊ณ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋น์ ์ ๋๋ต์์ฃผ์๋ฅผ ๊ธฐ์ธ์ผ ๊ฒ์ ๋๋ค.
@matiasroldan6 ์ด ๋ฌธ์ ๋ฅผ
์ง์ ํ์ ํด๋ผ์ด์ธํธ์์ ์ฌ์ฉ์ ID๊ฐ "dl_xxxx"๋ก ์ค์ ๋์ด ์์ต๋๋ค.
Skill ๋ฐ VA์ ์ฐ๊ฒฐ์ Azure AD v2 ์ธ์ฆ์ด ์์ต๋๋ค.
์งํต ํด๋ผ์ด์ธํธ์ appsettings.json์ ์์ ๋์ผํ๊ฒ ์ค์ ๋์ด ์์ต๋๋ค.
์คํฌ์ ์งํต ์ฑ๋์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ VA์์๋ง ์ฌ์ฉํฉ๋๋ค.
์ ์ผํ ๋ฌธ์ ๋ ๋ํ ๋ฉ์์ง๊ฐ ์์๊ฐ ์๋ชป๋์๋ค๋ ๊ฒ๋ฟ์ธ ํ ์ฑ๋์์ ์ธ์ฆ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ณํ์์ 1๋ถ ํ๊น์ง ์ฒซ ๋ฒ์งธ stepContext.context.sendActivity('message') ์ ์ก์ ์คํจํฉ๋๋ค. ์ด๋ ์ธ์ฆ์ด ํฌํจ๋ ๋ํ ์์์ Teams ์ฑ๋์์๋ง ๋ฐ์ํฉ๋๋ค.
์ฌ๊ธฐ์ ์๋ bot-solutions 1.0์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค .
์คํฌ๊ณผ VA์ ๋ํ ์ ๋ณด๊ฐ ๋ ํ์ํ์๋ฉด ์๋ ค์ฃผ์ธ์.
์๋
ํ์ธ์ @tomSauret847๋ , ์ด ๋ฌธ์ ์ ๋ฐ์์ ์ฌํ ํ
์ฐ๋ฆฌ ์๋๋ฆฌ์ค์์ ๋ฌธ์ ๋ Directline ์ฑ๋์ ์ค์ ๋ ์ ๋ขฐํ ์ ์๋ ์ถ์ฒ ์ฃผ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Directline ํ์
์๋ ์ ๋ขฐํ ์ ์๋ ์ถ์ฒ ๊ฐ _https_ ๋๋ _localhost_์ ๊ฒฝ์ฐ _http_์ฌ์ผ ํ๋ค๊ณ ๋์ ์์ต๋๋ค. ์ด๊ฒ์ ๋น์ ์๊ฒ ์คํจํ ์ ์ผํ ์ฑ๋๋ก Directline์ ์ค๋ช
ํ ๊ฒ์
๋๋ค.
์ด๊ฒ์ด ๊ทํ์ ๋ฌธ์ ์ธ์ง ํ์ธํ๋ ค๋ฉด ์ ๋ขฐํ ์ ์๋ ์ถ์ฒ๋ก ์ค์ ํด ๋ณด์ญ์์ค.
๋ด ์ฃผ์(๋ก์ปฌ๋ก ๋๋ฒ๊น
ํ๋ ๊ฒฝ์ฐ https://xxxxx.azurewebsites.net ๋๋ https://xxxx.ngrok.io)
ํ์ํ ๊ฒฝ์ฐ ๋ก์ปฌ ํธ์คํธ(์: http://localhost)
์ด๊ฒ์ ์ฌํํ๊ธฐ ์ํ ์ค์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฐ๋ฆฌ์ ์ฌํ ๋จ๊ณ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋์์ด ๋์ จ๋ค๋ฉด ์๋ ค์ฃผ์ธ์. ๊ทํ์ ๋ต๋ณ์ ๊ท๋ฅผ ๊ธฐ์ธ์ด๊ฒ ์ต๋๋ค.
@matiasroldan6 ์ด ๋ฌธ์ ๋ฅผ
@tomSauret847์ ๋ต์ฅ์ ๋ณด๋ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ด ๋ฌธ์ ์ ๋ํ ์์ ์ฌํญ์ ์ฐพ๊ธฐ ์ํด ๊ณ์ ์์ ํ๊ฒ ์ต๋๋ค ๐.
๋ด ์๋ฃจ์
(PR #3583) ๋ฒ์ 1.0์ ๊ณ ๋ คํ์ฌ azurewebsites.net
์๋ํฌ์ธํธ๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๊ณ ์๋์ง ์ดํดํ๊ธฐ ์ํด ์ง๋ฌธ ์ด ์์ต๋๋ค.
Messaging endpoint
๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๊น?.tgz
ํจํค์ง๋ฅผ ์ฌ์ฉํ ๊ฒ์ผ๋ก ์๊ณ ์์ต๋๋ค. ์ด ์ฌ๋ฐ๋ฅธ์ง?@Batta32 ๊ฐ์ฌํฉ๋๋ค
@tomSauret847๋ ๊ฐ์ฌํฉ๋๋ค.
@tomSauret847๋ , ์ด ๋ฌธ์ ์ ๋ฐ์์ ์ฑ๊ณต์ ์ผ๋ก ์ฌํํ์ต๋๋ค.
์ด์ ์๋ต ์์ ๋ฐ๊ฒฌํ ํ ๊ฐ์ง๋ ๋ด URL์ ์ ๋ขฐํ ์ ์๋ ์ถ์ฒ๋ก ์ฌ์ฉํ๊ณ ์๋ค๋ ๊ฒ์
๋๋ค.
์ด ์ฃผ์ ๋ฐ ์ด ๋ฌธ์ ์ ๋ฐ๋ฅด๋ฉด ์ฑํ
ํด๋ผ์ด์ธํธ์ URL์ด ์์ด์ผ ํฉ๋๋ค.
์ฐ๋ฆฌ์ ์ค์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋จ๊ณ:
Microsoft ํ ๋ฐ ์๋ฎฌ๋ ์ดํฐ์์ ์ด ๋ฌธ์ ๊ฐ ์๋ํ๊ณ ์์์ ํ์ธํ๊ณ ์ธ๊ธํ ๋๋ก ์ด ๋ฌธ์ ๋ฅผ ๊ณ์ ๊ฒํ ํ ๊ฒ์
๋๋ค.
@tomSauret847 ์๋ ํ์ธ์, ๊ฐํ๋ ์ธ์ฆ์ ์ฌ์ฉํ์ฌ ์ธ์ฆ ํ๋ก์ธ์ค๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์คํํ์ต๋๋ค.
์ ํฌ ์ธก์์ ํ์ธํ ์ ์๋๋ก ๋ช ๊ฐ์ง ์ง๋ฌธ์ ์ค๋นํ์ต๋๋ค.
<WEB_APP_BOT_NAME>
๋ฅผ ๋ด ๋ฆฌ์์ค์ ์ด๋ฆ์ผ๋ก ๋ฐ๊พธ์๊ฒ ์ต๋๊น? node_modules
, lib
๋ฐ ๋๋จธ์ง ํด๋๊ฐ ์๋์ง ํ์ธํ์ญ์์ค.์ด๊ฒ์ ์ฐ๋ฆฌ์ ํ๊ฒฝ์ ๋๋ค :
์ฐ๋ฆฌ๋ ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋์ต๋๋ค.
.tgz
ํ์ผ์ ์ ์ฅํ ํด๋๋ฅผ ๋ง๋ญ๋๋ค."bot-solutions":ย ".//TGZ//bot-solutions-1.0.0.tgz"
์ ๊ฐ์ ๋ก์ปฌ tgz์ ๋ํ ๋ด ์๋ฃจ์
์ฐธ์กฐ๋ฅผ ๊ฐ๋ฆฌํต๋๋ค.deploy.ps1
์ฌ์ฉํ์ฌ ๋ด ๋ฐฐํฌpublish.ps1
์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ ์ํ ๋ชจ๋ ๊ฒ์run sample dialog
์ฌ์ฉํ์ฌ ์ธ์ฆ์ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค.๋ง์ง๋ง์ผ๋ก, ์ฐ๋ฆฌ๋ C #์ ๋ด์ ์ฌ์ฉํ์ฌ ๋์ผํ ๋จ๊ณ๋ฅผ ํ์ธํ๊ณ ์ฌ๋ฐ๋ฅด๊ฒ ๋๋ฌด ์๋ ํ์ธ.
์ฑ์ฌ์ฑ์๊ป ๋ต๋ณํด๋๋ฆฌ๊ฒ ์ต๋๋ค ๐
_ํฅ์๋ ์ธ์ฆ ๊ตฌ์ฑ_
_ํฅ์๋ ์ธ์ฆ ๋ฐ TypeScript ๋ด์ ์ฌ์ฉํ ์ฑ๊ณต์ ์ธ ํต์ _
_ํฅ์๋ ์ธ์ฆ ๋ฐ C# ๋ด์ ์ฌ์ฉํ ์ฑ๊ณต์ ์ธ ํต์ _
@VictorGrycuk ๊ฐ์ฌํฉ๋๋ค. ์์ ์ฌํญ์ ํ์ธํ๊ธฐ ์ํด ํ ์คํธ ์ธ์คํด์ค๋ฅผ ์ค์ ํ๋ ๋ฐ ํ์ํ ์๋ต์ด ๋ฆ์ด ์ฃ์กํฉ๋๋ค. ํ ์คํธ ์ธ์คํด์ค์์ ์ธ์ฆ์ด ์๋ํ๋๋ก ํ ์ ์์๊ณ ๋ฌธ์ ๊ฐ ์๋ ๊ณณ์ ์ขํ์ต๋๋ค.
VA /Skills์ ๊ฒฝ์ฐ ๋ฐฉํ๋ฒฝ์ด ์๋ ์ฑ ๊ฒ์ดํธ์จ์ด ๋ค์ ์์ต๋๋ค. ์ด๊ฒ์ด ๊ฐํ๋ ์ธ์ฆ์ด ์๋ํ์ง ์๋ ์ด์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค. VA ๋ฐ ํด๋น ๊ตฌ์ฑ ์ธ๋ถ์ ๊ธฐ์ ์์ ์ด๋ฅผ ๊ตฌํํ๋ฉด ์ ๋๋ก ์๋ํ๋ ๊ฒ์ ๋๋ค. ์ฑ ๊ฒ์ดํธ์จ์ด๋ ํผํฉ์ ๋ค๋ฅธ ํธ์คํธ๋ฅผ ๋ฐฐ์นํ๊ณ ์ด๊ฒ์ด ํ ํฐ์ ์ฐจ๋จํ๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ ์ง๋ฌธ์ด ์์ต๋๋ค.
App Gateway ๋ค์ ์๋ ๋ด๊ณผ ํจ๊ป ์๋ํ๋๋ก ํฅ์๋ ์ธ์ฆ์ ์ป์ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
๋ฉ์ง๋ค @tomSauret847! App Gateway ๋ค์ ์๋ ๋ด๊ณผ ํจ๊ป ํฅ์๋ ์ธ์ฆ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ฒํ ํ๊ธฐ ์ํด ์ฐ๊ตฌ์ ๋ช ๊ฐ์ง ํ ์คํธ๋ฅผ ์ํํ ๊ฒ์ ๋๋ค.
์ด์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์๋ ์ฆ์ ์ฌ๊ธฐ์์ ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค ๐.
์๋ ํ์ธ์ @tomSauret847 , ์ฐ๋ฆฌ๋ ์ฝ๊ฐ์ ์กฐ์ฌ๋ฅผ ํ๊ณ ๋ช ๊ฐ์ง ์ง๋ฌธ์ ์๊ฐํด๋์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋น์ ์ ๋๋ต์์ฃผ์๋ฅผ ๊ธฐ์ธ์ผ ๊ฒ์ ๋๋ค ๐
@VictorGrycuk ์ ์๋ต
Azure์ ๋ฐฐํฌ๋ ๋ด์ผ๋ก ํ ์คํธ ์ค์ ๋๋ค. ๋ก์ปฌ์์ ํ ์คํธํ ํฐ๋์ ๋ง๋ค ์ ์์ต๋๋ค.
์, ๊ทํ์ ๋งํฌ์ ์ค๋ช ๋ ๋๋ก WAF์ ํจ๊ป Azure ์ ํ๋ฆฌ์ผ์ด์ ๊ฒ์ดํธ์จ์ด๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
์ด๋ค์ TypeScript ๋ด(์ธ์ฆ์ด ์๋ VA ๋ฐ 2๊ฐ์ ๊ธฐ์ )์ ๋๋ค. ๋๊ธฐ ๋ฃจํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ๊ธฐ ์ํด 1๊ฐ์ C# ๊ธฐ์ ๋ง ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ์ฌ๊ธฐ์๋ ์ธ์ฆ์ด ์์ต๋๋ค.
@tomSauret847๋ , ์ง์ฐ ์ฃ์กํฉ๋๋ค. ๋ค์ ๋ด์ด ์๋ Azure App Gateway์์ ํฅ์๋ ์ธ์ฆ์ ์ฌ์ฉํ ์ ์์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ช ๊ฐ์ง ์ถ๊ฐ ์ง๋ฌธ :
๊ตฌ์ฑ ์์ :
๊ตฌ์ฑ :
์ฐ๋ฆฌ๋ ์ด ์๋๋ฆฌ์ค๋ฅผ ๋ณต์ ํ๊ธฐ ์ํด ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค.
๊ฐ์ฌํฉ๋๋ค @VictorGrycuk ๊ทํ์ ์ง๋ฌธ์ ๋ํ ๋ต๋ณ์
๊ฒ์ดํธ์จ์ด์ ๊ณต๊ฐ IP๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฎฌ๋ ์ดํฐ๋ก Virtual Assistant์ ์ฐ๊ฒฐํ ์ ์์ต๋๊น? ์ฐ๋ฆฌ์ ํ
์คํธ์์ ์ด๊ฒ์ด ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ํ์ธํ์ต๋๋ค
ํฅ์๋ ์ปค๋ฎค๋์ผ์ด์ ์์ด VA๋ฅผ ํตํด ์คํฌ๊ณผ ์ฐ๊ฒฐํ๊ณ ์ปค๋ฎค๋์ผ์ด์ ํ ์ ์์ต๋๊น?
@tomSauret847 ๋ ์๋ ํ์ธ์, ๊ฐํ๋ ์ธ์ฆ ์ด Azure Application Gateway ๋ค์ ์๋ ๋ด์์ ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
๋ฐฐํฌ๋ ๋ด์ผ๋ก Azure Application Gateway๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ ์ค๋ช ์๊ฐ ํฌํจ๋ PR #3694 ๋ฅผ ๋ง๋ค์์ต๋๋ค.
๋ค์ ๋จ๊ณ ์ ๋ฐ๋ผ ํ ์คํธ๋ฅผ
์ด๊ฒ์ Azure Application Gateway์ ๊ตฌ์ฑ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์ผ๋ฏ๋ก https://stackoverflow.com/questions/tagged/botframework ์์ ์ ์์ ์์ฒญํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ด์ฐฎ์ผ์๋ค๋ฉด ์ด ๋ฌธ์ ๋ฅผ ์ข ๋ฃ ํ ์ ์์ต๋๋ค ๐.
@VictorGrycuk ๊ฐ์ฌํฉ๋๋ค ๊ฒ์ํ ์ ๋ณด๋ฅผ ํตํด ์์ ํ๊ฒ ์ต๋๋ค. ๋๋ ์ด๋ฏธ ์ด ๋งํฌ ๊ฐ ๊นจ์ก๋ค๋ ๊ฒ์ ์์์ฐจ๋ ธ๋ค.
tomSauret847 @ ๋๋ถ์, ๊ทธ ๋งํฌ๋ก ์ด์ด์ง ๊ฒ์
๋๋ค ํ์ดํ ๋ด๊ณผ ๊ฒ์ดํธ์จ์ด์ ๊ฑด๊ฐ ํ๋ก๋ธ๋ฅผ ๊ตฌ์ฑ (๋ฟ๋ง ์๋๋ผ ์ด ์ด๋ฏธ์ง ๋ฌธ์๊ฐ ๋ณํฉ๋๋ฉด) master
์ง์ ์ค๋ช
์๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์, {{site.baseurl}}
์ URL์ ์์ฑํฉ๋๋ค.
@peterinnesmsft - ํ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๋ฅผ ์ข ๋ฃํ ์ ์์ต๋๋ค. @tomSauret847 ์ฌ์ ํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ ์ธ์ ๋ ์ง ๋ค์ ํ์ฑํํด
๋ํ ๊ถ๊ธํ ์ ์ด ์์ผ๋ฉด https://stackoverflow.com/questions/tagged/botframework ์์ ์ง๋ฌธํด ์ฃผ์ธ์
TypeScript ๋ฒ์ 1.0์ ๋ํด ๋ค์ PR์ด ๋ณํฉ๋๋ ์ฆ์ ์ ์ฒด ์ธ์ฆ ํ๋ก์ธ์ค๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
[TypeScript][Bot-Solutions] Implement changes in Bot-Solutions to 1.0 release
[TypeScript][Virtual Assistant] Implement changes in Virtual Assistant to 1.0 release
[TypeScript][Skill] Implement changes in Skill to 1.0 release
๋์์ ์ฃผ์ @Batta32๋ ๊ฐ์ฌํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ด ์น์ ์ ์ ์ ๋ณด๋ฅํด์ผ ํ๋ฏ๋ก ์ด ๋ฌธ์ ๋ฅผ ๋ซ์๋ค๊ฐ ๋ค์ ๊ฐ์ ธ์ฌ ๋ ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ๋ค์ ์ด ๊ฒ์ ๋๋ค.
@ Batta32 ์ด ๋ฌธ์ ์ ๋ํ ๊ฐ๋จํ ์ง๋ฌธ์ด ์์ต๋๋ค. typescript์ฉ SSO๋ฅผ ์์ง ์ฌ์ฉํ ์ ์์ต๋๊น? ๋ฌธ์ ๋ ์ฐ๋ฆฌ ๊ธฐ์ ์ด ๋ฐฉํ๋ฒฝ ๋ค์ ์๊ณ ํ ํฐ ์๋ต์ ๋ฐ์ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. VA์ ์๊ฒฉ ์ฆ๋ช ์ ์ ๋ฌํ๋ฉด ํ ํฐ์ ์คํฌ์ ์ ๋ฌํ์ง ์๊ณ ๋ํ๋ฅผ ๋ค์ ์์ํ๋ ๊ฒ์ ๋๋ค. typescript์ฉ SSO๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ ์ธ์ ์ฌ์ฉํ ์ ์์ ๊ฒ์ผ๋ก ์์ํฉ๋๊น? ์ด ๋ฌธ์ ์ ๋ํ ๋ชจ๋ ๋์์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
@tomSauret847๋ , SSO๋ ํ์ฌ TypeScript 1.0 ๋ฒ์ ์ ๋์ ๋์์ผ๋ฏ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. TypeScript ๋ฒ์ 1.0์ PR์ ํด๋น ๊ธฐ๋ฅ์ด ํฌํจ๋ ์ ๋ฒ์ ์ ์ถ์ํ๋ ค๋ฉด ์น์ธ ๋ฐ ๋ณํฉ๋์ด์ผ ํฉ๋๋ค.
๐ ์ ๋ฐ์ดํธ๋๋ ๋๋ก ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@Batta32 ๋ค์ํ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค! ํ ์คํธ๋ฅผ ์ํด 1.0 ํจํค์ง๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ์์ง ์คํฌ์์ ์ฐ๊ฒฐ ์ค์ ์ ์ ์งํด์ผ ํ์ง๋ง ์ธ์ฆ์ด ์๋ํ๋๋ก ํ ์ ์์ต๋๋ค. VA๊ฐ ํ ํฐ ์๋ต์ ์์ ํ๊ณ ์ฒ๋ฆฌํ ์คํฌ์ ์ ๋ฌํ๋ ์์น๋ฅผ ํ์ธํ ์ ์์์ต๋๋ค.