Gitea: OAuth2 + Github redirect_uri ๋ถˆ์ผ์น˜

์— ๋งŒ๋“  2018๋…„ 04์›” 05์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: go-gitea/gitea

์š”์•ฝ

OAuth2 ๋ฌธ์„œ์—๋Š” ๊ตฌ์„ฑ ์„ธ๋ถ€ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์ˆ 

Github์— ๋Œ€ํ•œ OAuth2 ์ธ์ฆ ๋ฐฉ๋ฒ•์„ ๊ตฌ์„ฑ ํ•  ๋•Œ ์‚ฌ์šฉ์ž๋Š” ๋‹ค์Œ์œผ๋กœ ๋ฆฌ๋””๋ ‰์…˜๋ฉ๋‹ˆ๋‹ค.
/user/oauth2/<authname>/callback?error=redirect_uri_mismatch&error_description=The+redirect_uri+MUST+match+the+registered+callback+URL+for+this+application.&error_uri=https%3A%2F%2Fdeveloper.github.com%2Fapps%2Fmanaging-oauth-apps%2Ftroubleshooting-authorization-request-errors%2F%23redirect-uri-mismatch
500 ์˜ค๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ ๋Š” ์ฝœ๋ฐฑ URI๊ฐ€ redirect_uri ์™€ admin/auths/new ์˜ URI ๋ช…๋ช…๋ฒ• ์„ ๋”ฐ๋ž์Šต๋‹ˆ๋‹ค.

custom / conf / app.ini์—์„œ ๊ด€๋ จ ๋น„ํŠธ (์˜ˆ : DISABLE_REGISTRATION = false ๋ฐ ENABLE_REVERSE_PROXY_AUTHENTICATION = true )๋ฅผ ์„ค์ •ํ–ˆ๋Š”๋ฐ ์น˜ํŠธ ์‹œํŠธ ๋˜๋Š” ์ธ์ฆ ์„น์…˜์— ์•„๋ฌด๊ฒƒ๋„์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์„ค๋ช…์„œ์˜ ์ผ๋ถ€์ด๋ฉฐ ์›น ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ๋ฆฌ๋””๋ ‰์…˜ URI๋ฅผ ์„ค์ •ํ•  ๊ณณ์ด ์—†์Šต๋‹ˆ๋‹ค.

์ด์ƒ์ ์œผ๋กœ๋Š” OAuth2 ๊ตฌ์„ฑ FAQ์— ๋Œ€ํ•œ ํ•ญ๋ชฉ์„ ์ œ๊ณตํ•˜๋Š” ๋ฌธ์„œ๊ฐ€ ์—…๋ฐ์ดํŠธ ๋œ ํ›„ ๋‹ซํžˆ๊ณ  '์•Œ๋ ค์ง„ ์–‘ํ˜ธํ•œ'๊ตฌ์„ฑ์ด ๋ฌธ์„œ์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค (์ด์ƒ์ ์œผ๋กœ๋Š” ๋‹ค๋ฅธ ์ธ์ฆ ํ•ญ๋ชฉ๊ณผ ํ•จ๊ป˜).

๋ฌธ์„œ๋ฅผ PR ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์ด ๊ฒ‰๋ณด๊ธฐ์— ๊ฐ„๋‹จ ํ•ด ๋ณด์ด๋Š” ๋ฌธ์ œ๊ฐ€ ์™œ ๋ฌธ์ œ๊ฐ€๋˜๋Š”์ง€ ์•Œ์•„์•ผํ•ฉ๋‹ˆ๋‹ค.

์Šคํฌ๋ฆฐ ์ƒท

2018 04 04 1511 47
2018 04 04 1513 13
2018 04 04 1519 58

์„œ๋ฒ„ ์„ธ๋ถ€ ์ •๋ณด

  • Gitea ๋ฒ„์ „ (๋˜๋Š” ์ปค๋ฐ‹ ์ฐธ์กฐ) : 1.4.0 + 3-g641d481c
  • Git ๋ฒ„์ „ : 2.11.0
  • ์šด์˜ ์ฒด์ œ : Debian GNU / Linux 9 (stretch)
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ( [x] ) :

    • [] PostgreSQL

    • [x] MySQL (mariadb)

    • [] MSSQL

    • [] SQLite

  • https://try.gitea.io์—์„œ ๋ฒ„๊ทธ๋ฅผ ์žฌํ˜„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

    • [] ์˜ˆ (์˜ˆ์ œ URL ์ œ๊ณต)

    • [x] ์•„๋‹ˆ์š”

    • [] ๊ด€๋ จ ์—†์Œ

  • ๋กœ๊ทธ:
    2018/04/04 22:19:25 [I] ๋กœ๊ทธ ๋ชจ๋“œ : ํŒŒ์ผ (Trace)
    2018/04/04 22:19:25 [I] XORM ๋กœ๊ทธ ๋ชจ๋“œ : ํŒŒ์ผ (ํŠธ๋ ˆ์ด์Šค)
    2018/04/04 22:19:25 [I] ์บ์‹œ ์„œ๋น„์Šค ํ™œ์„ฑํ™”
    2018/04/04 22:19:25 [I] ์„ธ์…˜ ์„œ๋น„์Šค ํ™œ์„ฑํ™”
    2018/04/04 22:19:25 [I] Git ๋ฒ„์ „ : 2.11.0
    2018/04/04 22:19:25 [T] Doing : CheckRepoStats
    2018/04/04 22:19:25 [T] Doing : ArchiveCleanup
    2018/04/04 22:19:25 [T] Doing : DeletedBranchesCleanup
    2018/04/04 22:19:25 [I] Run Mode : Production
    2018/04/04 22:19:25 [I] ๋“ฃ๊ธฐ : https://0.0.0.0 :
    2018/04/04 22:19:25 [I] LFS ์„œ๋ฒ„ ํ™œ์„ฑํ™”
    2018/04/04 22:19:31 [D] ์„ธ์…˜ ID :cde9
    2018/04/04 22:19:31 [D] CSRF ํ† ํฐ :==
    2018/04/04 22:19:31 [D] ํ…œํ”Œ๋ฆฟ : user / auth / signin
    2018/04/04 22:19:32 [D] ์„ธ์…˜ ID :cde9
    2018/04/04 22:19:32 [D] CSRF ํ† ํฐ :==
    2018/04/04 22:19:33 [D] ์„ธ์…˜ ID :cde9
    2018/04/04 22:19:33 [D] CSRF ํ† ํฐ :==
    2018/04/04 22:19:33 [... routers / user / auth.go : 407 handleOAuth2SignIn ()] [E] UserSignIn : ๊ณต๊ธ‰์ž๋กœ๋ถ€ํ„ฐ ์ž˜๋ชป๋œ ํ† ํฐ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.
    2018/04/04 22:19:33 [D] ํ…œํ”Œ๋ฆฟ : status / 500
kinquestion

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

ROOT_URL์ด ๋ฌด์—‡์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ (๋‹ค์†Œ ์˜คํ•ด์˜ ์†Œ์ง€๊ฐ€์žˆ๋Š” 'Invalid token received ...'์˜ค๋ฅ˜ ํฌํ•จ)๊ฐ€ ๋ฐœ์ƒํ–ˆ์ง€๋งŒ ROOT_URL์ด http : // foo๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ๋˜์—ˆ์ง€๋งŒ ์‹ค์ œ๋กœ ์ด๋ฏธ apache httpd๋ฅผ ํ†ตํ•ด https๋กœ ์˜ฎ๊ฒผ์Šต๋‹ˆ๋‹ค. gitea์— ๋Œ€ํ•œ ์—ญ๋ฐฉํ–ฅ ํ”„๋ก์‹œ). ๋‚ด ROOT_URL์„ https : // foo ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

ROOT_URL์ด ๋ฌด์—‡์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ (๋‹ค์†Œ ์˜คํ•ด์˜ ์†Œ์ง€๊ฐ€์žˆ๋Š” 'Invalid token received ...'์˜ค๋ฅ˜ ํฌํ•จ)๊ฐ€ ๋ฐœ์ƒํ–ˆ์ง€๋งŒ ROOT_URL์ด http : // foo๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ๋˜์—ˆ์ง€๋งŒ ์‹ค์ œ๋กœ ์ด๋ฏธ apache httpd๋ฅผ ํ†ตํ•ด https๋กœ ์˜ฎ๊ฒผ์Šต๋‹ˆ๋‹ค. gitea์— ๋Œ€ํ•œ ์—ญ๋ฐฉํ–ฅ ํ”„๋ก์‹œ). ๋‚ด ROOT_URL์„ https : // foo ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‹ซ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋‹ค์‹œ์—ฌ์„ธ์š”.

๋‚˜๋Š” ์ด๊ฒƒ์„ ๊ฒฝํ—˜ ํ–ˆ๊ณ  @hnsr ์˜ ๋Œ€๋‹ต์ด ๋‚ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜ ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๊ธฐ์— ์™”์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ํ”„๋ŸฐํŠธ ์—”๋“œ์—์„œ ROOT_URL์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค (์‹ค์ œ๋กœ ์žˆ์–ด์•ผ ํ•จ).

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
3 / 5 - 1 ๋“ฑ๊ธ‰