์๋ ,
iobroker.javascript ๋ด๋ถ์ "์์ฒญ" ๋ชจ๋์ ์ฌ์ฉํ๋ ๋์ ์ธ์ฆ๋์ง ์๋ "IoT" ์ฅ์น ์ค ํ๋์์ ์๋ฒ ๋๋ ์น ์๋ฒ๋ฅผ ์ฐพ์์ต๋๋ค.
๋ฌธ์ ๋ ํด๋น ์์ฒญ์ด Authorization ํค๋ ํ๋๋ฅผ ๋ชจ๋ ์๋ฌธ์๋ก ๋ณด๋ธ๋ค๋ ๊ฒ์ ๋๋ค. ํค๋๊ฐ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํด์ผ ํ๋ ๊ฒฝ์ฐ RFC์ ์ ์๋์ด ์๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
ํค๋ ํ๋๊ฐ ๋๋ฌธ์๋ก ์์ํ๊ณ ์๋ฌธ์๋ก ๊ณ์๋๋๋ก auth.js ํ์ผ(๋ฐ ๋ค๋ฅธ ํ์ผ)์ ๋ณ๊ฒฝํ ์ ์์ต๋๊น?
๊ถํ ๋ถ์ฌ
์๋ฅผ ๋ค์ด. ํธ์คํธ ํค๋ ๋ฑ๊ณผ ๊ฐ์ ์ด ๋์์ ๋ํ ๋ช ๊ฐ์ง ๋ค๋ฅธ ์๊ฐ ์์ต๋๋ค.
| ์ํํธ์จ์ด | ๋ฒ์
| ---------------- | -------
| ์์ฒญ | 2.79.0
| ๋
ธ๋ | 4.5.0
| npm | 3.10.8
| ์ด์ ์ฒด์ | ์ปค๋ 3.16.0-44-generic #59~14.04.1-Ubuntu๊ฐ ์๋ Ubuntu 14.04.5 LTS
Uwe์ ์๋ถ ์ธ์ฌ
RFC ์ฌ์์ ๋ฐ๋ผ HTTP ํค๋๋ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์์ต๋๋ค. headers
์ต์
์ ์ฌ์ฉํ์ฌ ํด๋น ํค๋๋ฅผ ์๋์ผ๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
๋ง์ด ๋์ค๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ํด ์กฐ๊ธ ๋ ์์ธํ ์์๋ณด๊ฒ ์ต๋๋ค.
@simov ๊ฐ ์ ํํ๊ณ ์๋ฒ๊ฐ ์ฌ์์ ์ค์ํ์ง ์์ต๋๋ค. HTTP ์ฌ์์ ํค๋๊ฐ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์์์ผ ํจ์ ๋งค์ฐ ๋ช ํํ๊ฒ ํฉ๋๋ค.
์์ฒญ ์ ์์ฒญ์ด ์์ฑ ํ๋ ํค๋์ ๊ธฐ๋ณธ๊ฐ์ ์๋ฌธ์์ด์ง๋ง ํค๋๋ฅผ ์๋์ผ๋ก ์ค์ ํ ๋ ์ฌ์์ ์ค์ํ์ง ์๋ ์๋ฒ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋๋ก ํด๋น ํค๋์ ๋/์๋ฌธ์๋ฅผ ์ ์งํฉ๋๋ค .
์ธ์ฆ ํค๋๋ฅผ ์ง์ ์์ฑํ๊ณ ํน์ ๋์๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ ์์ฒญ์ headers
๋๋ setHeader
๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์ค์ ํด์ผ ํฉ๋๋ค. ์ฌ์์ ์ค์ํ์ง ์๋ ์๋ฒ์ ๋ํ ์์ฒญ์ด ๊ธฐ๋ณธ๊ฐ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ ํฉ๋ฆฌ์ ์ด์ง ์์ต๋๋ค. ์๋ํ๋ฉด ์ฐ๋ฆฌ๊ฐ ์ด๊ธธ ๋ฐฉ๋ฒ์ด ์๊ธฐ ๋๋ฌธ์
๋๋ค. ํน์ ๊ธฐ๋ณธ๊ฐ์ ์ข์ํ์ง ์๊ณ ์ฌ์์ ์ค์ํ์ง ์๋ ์๋ฒ๊ฐ ํญ์ ์์ ๊ฒ์
๋๋ค.
์ ์คํ๊ฒ ๋๋ ์ด๊ฒ์ด ์ฌ๊ฒํ ๋ ๊ฐ์น๊ฐ ์๋ค๊ณ ์๊ฐํ๋ค. RFC๊ฐ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๋ ํค๋๋ฅผ ์ง์ ํ๋ ๊ฒ์ ์ฌ์ค์ด์ง๋ง ๋๋ค์์ ์ฌ๋๋ค์ด ์ผ๋ฐ์ ์ธ ์น ๋ธ๋ผ์ฐ์ ์ธ์๋ ํ ์คํธํ์ง ์๋ ๊ฒ์ด ํ์ค์ ๋๋ค. http ์๋ฒ์ ๋์๋ฌธ์ ์ฒ๋ฆฌ๋ ์ข ์ข ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฌ์ฉ์๊ฐ ์ ์ดํ ์ ์์ต๋๋ค.
๋๋ถ๋ถ์ ๋ธ๋ผ์ฐ์ ๋ ์ ๋ชฉ ๋์๋ฌธ์ ๊ตฌ๋ถ ํค๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ ์ ์๋ ๊ฐ์ฅ ์ ์ฉํ ๊ฒ์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ฌธ์์ด์ ์๋ฎฌ๋ ์ดํธํ๋ ๊ฒ์
๋๋ค. ์๋ฅผ ๋ค์ด Host:
not host:
, Cookie:
not cookie:
. ์ด๋ ๊ฒ ํ๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ํ๋ ๋ชจ๋ ๊ณณ์์ ์๋ํฉ๋๋ค. ๋ฌด๋ฆฌ์ ํฉ๋ฅํ๋ฉด ๋ ๋์ ํธํ์ฑ(์ณ๋ ๊ทธ๋ฅด๋ )์ด ์ ๊ณต๋๊ณ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ํํ๋ ์์ต๋๋ค.
ํจ์น๊ฐ ๋ฐ์๋ค์ฌ์ง ๊ฐ๋ฅ์ฑ์ด ์๋ ๊ฒฝ์ฐ ํจ์น ์์ ์ ํ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค. ์๋ฌธ์๋ฅผ ์ ํธํ๋ ์ฌ๋๋ค์ ์ํด ํธํ์ฑ์ ์ ์งํ๊ธฐ ์ํด ๊ธฐ๋ฅ์ ํ๋๊ทธ๊ฐ ์ง์ ๋ ์ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ ์คํ๊ฒ ๋๋ ์ด๊ฒ์ด ์ฌ๊ฒํ ๋ ๊ฐ์น๊ฐ ์๋ค๊ณ ์๊ฐํ๋ค. RFC๊ฐ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๋ ํค๋๋ฅผ ์ง์ ํ๋ ๊ฒ์ ์ฌ์ค์ด์ง๋ง ๋๋ค์์ ์ฌ๋๋ค์ด ์ผ๋ฐ์ ์ธ ์น ๋ธ๋ผ์ฐ์ ์ธ์๋ ํ ์คํธํ์ง ์๋ ๊ฒ์ด ํ์ค์ ๋๋ค. http ์๋ฒ์ ๋์๋ฌธ์ ์ฒ๋ฆฌ๋ ์ข ์ข ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฌ์ฉ์๊ฐ ์ ์ดํ ์ ์์ต๋๋ค.
๋๋ถ๋ถ์ ๋ธ๋ผ์ฐ์ ๋ ์ ๋ชฉ ๋์๋ฌธ์ ๊ตฌ๋ถ ํค๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ ์ ์๋ ๊ฐ์ฅ ์ ์ฉํ ๊ฒ์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ฌธ์์ด์ ์๋ฎฌ๋ ์ดํธํ๋ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด
Host:
nothost:
,Cookie:
notcookie:
. ์ด๋ ๊ฒ ํ๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ํ๋ ๋ชจ๋ ๊ณณ์์ ์๋ํฉ๋๋ค. ๋ฌด๋ฆฌ์ ํฉ๋ฅํ๋ฉด ๋ ๋์ ํธํ์ฑ(์ณ๋ ๊ทธ๋ฅด๋ )์ด ์ ๊ณต๋๊ณ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ํํ๋ ์์ต๋๋ค.ํจ์น๊ฐ ๋ฐ์๋ค์ฌ์ง ๊ฐ๋ฅ์ฑ์ด ์๋ ๊ฒฝ์ฐ ํจ์น ์์ ์ ํ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค. ์๋ฌธ์๋ฅผ ์ ํธํ๋ ์ฌ๋๋ค์ ์ํด ํธํ์ฑ์ ์ ์งํ๊ธฐ ์ํด ๊ธฐ๋ฅ์ ํ๋๊ทธ๊ฐ ์ง์ ๋ ์ ์์ต๋๋ค.