| ์์ฝ | ์ด ํ๋ฌ๊ทธ์ธ์ Yandex ID๋ฅผ ํตํ OAuth2 ๋ก๊ทธ์ธ์ ํ์ฑํํ์ฌ ์ฌ์ฉ์๊ฐ Yandex ๊ณ์ ์ผ๋ก ์ํํ๊ฒ ์ธ์ฆํ ์ ์๋๋ก ํฉ๋๋ค. | |
| ์ ์ฅ์ ๋งํฌ | GitHub - kaktaknet/discourse-yandex-oauth: ๐ Yandex ID Authentication for Discourse. OAuth2 authentication plugin for Discourse using Yandex ID ยท GitHub | |
| ์ค์น ๊ฐ์ด๋ | Discourse์์ ํ๋ฌ๊ทธ์ธ ์ค์น ๋ฐฉ๋ฒ |
๊ธฐ๋ฅ
- Yandex ID๋ฅผ ํตํ ์์ ํ OAuth 2.0 ์ธ์ฆ ํ๋ฆ
- ์ํด๋ฆญ ์ฌ์ฉ์ ๋ก๊ทธ์ธ ๋ฐ ์๋ ๊ณ์ ์์ฑ
- Yandex๋ฅผ ํตํ ์ด๋ฉ์ผ ์ธ์ฆ
- Yandex ํ๋กํ์์ ์๋ฐํ ๊ฐ์ ธ์ค๊ธฐ
- ์ด๋ฉ์ผ์ ํตํ ๊ณ์ ์ฐ๊ฒฐ
- ์ฌ์ฉ์ ์ด๋ฆ ์ ๋ฆฌ ๋ฐ ๊ฒ์ฆ
- ํฌ๊ด์ ์ธ ์ค๋ฅ ์ฒ๋ฆฌ ๋ฐ ์์ธ ๋ก๊น
- ๋ค๊ตญ์ด ์ง์ (์์ด, ๋ฌ์์์ด)
- ๊ฐ๋จํ ์ค์ ๊ณผ ๋ช ํํ ๋ฌธ์ํ๋ฅผ ํตํ ์ฌ์ด ํตํฉ
์ค์
-
Yandex OAuth์์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฑ๋ก
- Yandex OAuth์ ์ ์ํ์ฌ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํฉ๋๋ค.
- Discourse ์ฌ์ดํธ์ ์ฝ๋ฐฑ URL์ ์ถ๊ฐํฉ๋๋ค:
https://your-discourse-domain.com/auth/yandex/callback - ๋ค์ ๊ถํ์ ํ์ฑํํฉ๋๋ค:
login:emaillogin:infologin:avatar
-
์ปจํ ์ด๋์ ํ๋ฌ๊ทธ์ธ ์ถ๊ฐ
- ํ์ค Discourse ํ๋ฌ๊ทธ์ธ ์ค์น ์ง์นจ์ ๋ฐ๋ฅด๊ณ
app.yml์hooks.after_code์ ํ๋ฌ๊ทธ์ธ ์ ์ฅ์๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- ํ์ค Discourse ํ๋ฌ๊ทธ์ธ ์ค์น ์ง์นจ์ ๋ฐ๋ฅด๊ณ
-
Discourse ์ฑ ์ฌ๋น๋
cd /var/discourse
./launcher rebuild app
- Discourse ๊ด๋ฆฌ์ ํจ๋์์ ์ค์ ๊ตฌ์ฑ
- ๋ค์ ๊ฒฝ๋ก๋ก ์ด๋ํฉ๋๋ค: ๊ด๋ฆฌ์ > ์ค์ > ๋ก๊ทธ์ธ > Yandex
- Yandex OAuth์์ ์ ๊ณต๋ Client ID์ Secret์ ์ฌ์ฉํ์ฌ ํ์ํ ํ๋๋ฅผ ์ ๋ ฅํฉ๋๋ค.
์ค์ ํญ๋ชฉ
| ์ด๋ฆ | ์ค๋ช |
|---|---|
yandex_enabled |
Yandex ์ธ์ฆ ํ์ฑํ ๋๋ ๋นํ์ฑํ |
yandex_client_id |
Yandex ์ฑ์ OAuth Client ID |
yandex_client_secret |
Yandex ์ฑ์ OAuth Client Secret |
yandex_email_verified |
Yandex์ ์ด๋ฉ์ผ ์ธ์ฆ ์ ๋ณด ์ ๋ขฐ ์ฌ๋ถ |