Oauthlib: ๋” ๋งŽ์€ ์œ ์ง€ ๋ณด์ˆ˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค

์— ๋งŒ๋“  2017๋…„ 09์›” 07์ผ  ยท  31์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: oauthlib/oauthlib

๋‚˜๋Š” ํ˜„์žฌ oauthlib๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” ์œ ์ผํ•œ ์‚ฌ๋žŒ์ด๋ฉฐ ์ง€๊ธˆ ๋‹น์žฅ์€ ๊ทธ๋ ‡๊ฒŒ ํ•  ์‹œ๊ฐ„์ด ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค.
๋ˆ„๊ฐ€ ํ˜„์žฌ PR์„ ๊ฒ€ํ† ํ•˜๊ณ  ํ•ด๋‹น PR์— ๋Œ€ํ•ด ๋ˆ„๋ฝ๋œ ๊ฒฝ์šฐ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ƒˆ ๋ฒ„์ „์„ ์ถœ์‹œํ•  ์‹œ๊ฐ„์ด ์žˆ์Šต๋‹ˆ๊นŒ?

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

github ๊ฐœ์ž…์ด ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค :) @thedrow , ์กฐ์ง์œผ๋กœ ์˜ฎ๊ธฐ๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค.

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

๋ฐฉ๊ธˆ 2.0.3์„ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋จธ์ง€ PR์€ ๋„์›€์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @thedrow ๋‹ค๋ฅธ PR์„ ๋„์™€๋“œ๋ฆด https://github.com/idan/oauthlib/pull/484? ๋ญ๋ผ๊ณ ์š”?

์ฃผ๋ง์— ์‹œ๊ฐ„๋‚ด์„œ ์˜ฌ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.
@ib-lundgren ์ด ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋‹ค๋ฅธ ์œ ์ง€ ๊ด€๋ฆฌ์ž๋„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ทธ๊ฒƒ๋“ค์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@thedrow ๋„์›€์ด ๋˜์–ด์„œ ๊ธฐ์ฉ๋‹ˆ๋‹ค...

@skion ๋ฐ˜๊ฐ‘ ์Šต๋‹ˆ๋‹ค! ์ €์žฅ์†Œ์— ๋” ๋งŽ์ด ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์•ก์„ธ์Šค์™€ ๊ด€๋ จํ•˜์—ฌ ๋ฐฉ๊ธˆ @ib-lundgren์—๊ฒŒ ์ด๋ฉ”์ผ์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค.

์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๊ฐ€์žฅ ์ข‹์„๊นŒ์š”?

์ €๋Š” ์ง์—…์ ์ด๋“  ๊ฐœ์ธ์ ์ด๋“  ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด์œ ๋กœ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜ ์˜ค์ „ 11์‹œ ์‹œ์• ํ‹€ ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์ œ "์ผ"์˜ CTO๋กœ๋ถ€ํ„ฐ ์Šน์ธ์„ ๋ฐ›์•„ ์ œํ•œ๋œ ์ž‘์—… ์‹œ๊ฐ„์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒ„๊ทธ ์ˆ˜์ • ๋ฐ ๊ธฐํƒ€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ํ‘œ์ค€ํ™”ํ•˜๋Š” ์Œ์ธ ๊ฒฝ์šฐ oauthlib ๋ฐ flask-oauthlib ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ „๋ฌธ์ ์ธ ์‚ฌ์šฉ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ์—…์ŠคํŠธ๋ฆผ์— ๋ณ‘ํ•ฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ์„  ์‚ฌํ•ญ.

๊ทธ๋Ÿฌ๋‚˜ ์ฃผ๋ง๊นŒ์ง€ ๊ฐ„๋‹จํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ GOLANG์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ผ๋Š” ์š”์ฒญ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋‚ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ์ „๋ฌธ์ ์ธ ๋ฆฌ์†Œ์Šค์™€ ์ง€์›์œผ๋กœ ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ๊ฒƒ์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ€์ ธ์˜ค๋‹ค.

์ด๋ฏธ ๋ณด๊ณ ๋œ ๋ฌธ์ œ๋กœ ์ธํ•ด ์•„์ง ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์„ ์–ป์„ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. #490 #463 ๋“ฑ

ํ˜„์žฌ ๊ด€๋ฆฌ์ž( @thedrow @lepture ๋“ฑ์ด ํฌํ•จ๋จ)๊ฐ€ ์ฐจ๋‹จ๊ธฐ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ฐ ๊ธฐ๊บผ์ด ๋„์›€์„ ์ฃผ์–ด ๋‚ด๊ฐ€ ๊ฐ„๋‹จํ•œ ๋ฐ๋ชจ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ๊ฒฝ์˜์ง„์—๊ฒŒ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฆ๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ํšŒ์‚ฌ์—์„œ ๋‚˜์—๊ฒŒ ์ œ๊ณตํ•˜๋Š” ์ž‘์—…์„ ์™„๋ฃŒํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ „์ฒด Python ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์ด์ต์„ ์œ„ํ•ด ์—…์ŠคํŠธ๋ฆผ์— ๋ณ‘ํ•ฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์‹œ์ž‘ํ•˜๊ณ  ๋‚ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณณ์—์„œ ๋„์šธ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ ๋“ฑ์„ ๊ฐœ์„ ํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•  ๊ฒƒ์ด๋ผ๊ณ  ํ™•์‹ ํ•˜์ง€๋งŒ ์ด๋ฏธ RFC๋ฅผ ์ธ์‡„ํ–ˆ์œผ๋ฉฐ ์ž‘์—…์„ ์œ„ํ•ด ์ด ๋‚ด์šฉ์„ ๋ฐฐ์›Œ์•ผ ํ•˜๋ฏ€๋กœ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์— ์—ฌ๋Ÿฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ์—๊ฒŒ ํ•„์š”ํ•œ ๊ฒƒ์€ ๋” ๋งŽ์€ ์œ ์ง€ ๊ด€๋ฆฌ์ž๊ฐ€ ์•„๋‹ˆ๋ผ ์ฃผ์š” ์œ ์ง€ ๊ด€๋ฆฌ์ž์ž…๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ๋Š” ์—ฌ์ „ํžˆ @idan ์˜ ๊ณ„์ • ํ•˜์— ์žˆ์ง€๋งŒ ๊ทธ๋Š” ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์กฐ์ง์œผ๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ถ€์ž๊ฐ€ ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ํ• ์• ํ•  ์ˆ˜ ์žˆ๋„๋ก https://opencollective.com/ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ถ€๊ธˆ์„ ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@lepture ๊ฐ€ ๋ฉ”์ธ ๋ฉ”์ธํ…Œ์ด๋„ˆ๋ผ๊ณ  ์ƒ๊ฐ

์กฐ์ง์ด ์ค‘์š”ํ•˜๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์šฐ๋ฆฌ ํšŒ์‚ฌ๊ฐ€ ์–ด๋–ค ์ผ์— ๋Œ€ํ•ด ์Šน์ธ์„ ๋ฐ›๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ๋กœ ๋‚ด๊ฐ€ ํˆฌ์žํ•  ์ˆ˜ ์žˆ๋Š” ์ „๋ฌธ์ ์ธ ์‹œ๊ฐ„์€ ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  Auth0์™€ ๊ฐ™์€ ๊ฐ’๋น„์‹ผ ์ œ3์ž๋ฅผ ID ์ œ๊ณต์ž๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์ง€ ์•Š์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋” ์œ ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€๋Š” ๋‚˜๋งŒ์˜ ์‹œ๊ฐ„์„ ๊ธฐ๋ถ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@idan ์ด ๊ฑด๊ฐ•ํ•˜๊ฑฐ๋‚˜

์ œ๊ฐ€ ํ•  ์ˆ˜๋งŒ ์žˆ๋‹ค๋ฉด ๊ธฐ๊บผ์ด ๋„์™€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ํ•œ ๊ฐ€์ง€ ๋ฌธ์ œ๋Š” ๊ณต์‹ ํŒจํ‚ค์ง€ ๋ฆด๋ฆฌ์Šค ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์žƒ์–ด๋ฒ„๋ ธ์„๊นŒ?

pull ์š”์ฒญ์„ ๋ณ‘ํ•ฉํ•˜๊ณ  ๊ทธ๋Œ€๋กœ ๋ฆด๋ฆฌ์Šคํ•  ์‹œ๊ฐ„์ด ์žˆ์Šต๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ ์ด ํ”„๋กœ์ ํŠธ๋Š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถœ์‹œํ•˜๊ณ  #388๊ณผ ๊ฐ™์€ ์ถ”๊ฐ€ OAuth2 ๊ด€๋ จ ์‚ฌ์–‘์„ ์™„์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๋ถ€/์ธ๋ ฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

flask-oauthlib๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ธฐ์  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ๊ทธ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์กฐ์ฐจ๋„ ์ €์—๊ฒŒ ์ ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฒ„์ „ ๋ฌธ์ œ์ธ์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ๋ฒ„์ „์˜ ์˜ฌ๋ฐ”๋ฅธ ์กฐํ•ฉ์— ๋„๋‹ฌํ•˜๋ฉด ์ž‘๋™ํ•˜๋Š” ์˜ˆ์ œ๋ฅผ ๊ธฐ๋Œ€ํ•˜๋ฉด์„œ ์–ด์ ฏ๋ฐค์— ๋ฒ„์ „์„ ์ ์  ๋” ๋กค๋ฐฑํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•„์ง๊นŒ์ง€๋Š” ์ผ์–ด๋‚˜์ง€ ์•Š์•˜๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋ฒ„์ „์„ ๋กค๋ฐฑ/๊ณ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์ œ๋Š” ์„ธ์…˜์— ์„ค์ •๋œ ์ดˆ๊ธฐ ์ธ์ฆ ํ† ํฐ/ํŽ˜์ด์ง€์— ํ‘œ์‹œ๋œ ๋งŒํผ๋งŒ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ->์„œ๋ฒ„ ํด๋ผ์ด์–ธํŠธ ์ธก ํ˜ธ์ถœ ์ธก์—์„œ remove.get(me) ํ˜ธ์ถœ์„ ์ธ์ฆํ•˜๋ ค๋Š” ๋ชจ๋“  ์‹œ๋„๋Š” ์‹คํŒจํ•˜์ง€๋งŒ ๋””๋ฒ„๊น…์€ ์—†์Šต๋‹ˆ๋‹ค. ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜ ์ด์œ ์— ๋Œ€ํ•œ ๋„์›€๋ง.

@duaneking Flask-OAuthlib๋Š” OAuthlib 1.1.2์™€ ์ž˜ ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ Flask-OAuthlib์˜ ๊ณ ์ •๋œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.

https://github.com/lepture/flask-oauthlib/blob/master/requirements.txt

๊ทธ๊ฒƒ์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๋ฒ„์ „์ด๋ผ๋ฉด ์—ฌ๊ธฐ์— ๋” ํฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์—์„œ ๋ˆ„๋ฝ๋œ ๋ณด์•ˆ ๋ฐ ๋ฒ„๊ทธ ์ˆ˜์ •์„ ์–ป์œผ๋ ค๋ฉด ๋ฒ„์ „์„ ๊ฐ€๋Šฅํ•œ ํ•œ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์„ ์—…๋ฐ์ดํŠธํ•˜์ง€ ๋ชปํ•˜๊ฒŒํ•˜๋Š” ๊ฒƒ์€ ์‚ฌ๋žŒ๋“ค์ด ๋ถ€์กฑํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๊นŒ?

OP์˜ PR #388(๋‚ด PR #498 ํฌํ•จ)์„ ์ž‘์—… ๋ถ€ํ•˜๊ฐ€ ๋‚ฎ์•„ ๋ณด์˜€๊ธฐ ๋•Œ๋ฌธ์— ์ด๋™์„ ์œ„ํ•ด ๋Œ€์ฒดํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ์กฐ๊ธˆ ๋„์›€์ด๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ €๋Š” JWT๋ฅผ ์ผ์ƒ ์—…๋ฌด์—์„œ oauthlib์—์„œ ์ž‘๋™ํ•˜๋„๋ก ์š”์ฒญ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

๋ฌธ์„œ์—์„œ ๋ชจ๋‘ ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด #50์—์„œ JWT ์ง€์›์„ ๋•๊ฒ ๋‹ค๊ณ  ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•,
OAuth2 ๊ด€๋ จ ์ฃผ์ œ ๋ฐ ์„œ๋ฒ„ ๊ตฌํ˜„(RequestValidator, ๊ถŒํ•œ ๋ถ€์—ฌ ๋“ฑ)์— ์ฐธ์—ฌํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋ฌธ์ œ ๊ฒ€ํ† , PR ๋ณ‘ํ•ฉ ๋ฐ ๋ฆด๋ฆฌ์Šค๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๋„์›€๊นŒ์ง€ ํ•ด์š” @JonathanHuot ๋‚ด๊ฐ€ JWT์— ๋Œ€ํ•œ ์ง€์›์„๋ณด๊ณ  ์‹ถ์–ด์š” ์•„๋‹ˆ๋ผ์œผ๋กœ @duaneking.

์ด ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์„ ์–ป๊ธฐ ์œ„ํ•ด Github์— ์—ฐ๋ฝํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ฐ€๋Šฅํ•˜์ง€ ์•Š๋‹ค๋ฉด ํฌํฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@thedrow ๊ต‰์žฅํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ์ €์žฅ์†Œ์— 100๊ฐœ์˜ ๋ณ„์ด ์žˆ์œผ๋ฉด ํ–ฅํ›„ ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๊ด€๋ฆฌ๋ฅผ opencollective.com์œผ๋กœ ์ด์ „ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ž„์‹œ๋กœ ์กฐ์ง์œผ๋กœ์„œ ์ด ์ž๊ธˆ์„ ์กฐ๋‹ฌํ•ด์•ผ ํ•œ๋‹ค๋ฉด ๊ทธ ๋น„์šฉ์— ๊ธฐ๊บผ์ด ๊ธฐ์—ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

github ๊ฐœ์ž…์ด ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค :) @thedrow , ์กฐ์ง์œผ๋กœ ์˜ฎ๊ธฐ๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๋ฏธ ์ง€๊ธˆ ํฌํฌ๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค: https://github.com/lepture/authlib

ํ•˜์ง€๋งŒ ๊ดœ์ฐฎ์•„. ์กฐ์ง์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๋„์›€์ด๋ฉ๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€, ๋‚ด ํฌํฌ์—๋Š” ๋‹ค๋ฅธ ์ž„๋ฌด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ €๋ฅผ ๊ธฐ๊บผ์ด ๋„์™€์ฃผ์„ธ์š”.

@idan ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ์กฐ์ง์„ ์ €์žฅ์†Œ๋กœ ์ด๋™ํ•ด์ฃผ์„ธ์š”.

@idan ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ด๋™ํ•˜์—ฌ

@theedrow ๋ฉฐ์น  ์ „์— @idan ์—๊ฒŒ ์นœ์ ˆํ•˜๊ฒŒ ์ด๋ฉ”์ผ์„

Github์€ ์ด๋ฏธ ๋„์›€์ด ๋  ์ˆ˜ ์—†๋‹ค๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค.

@idan ๋ณต์ œํ•ด์•ผ ํ•˜๋‚˜์š”?

@idan์— ๋Œ€ํ•œ ๋งˆ์ง€๋ง‰ ์™ธ์นจ์ด ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ํ•œ ๋ณต์ œํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค.

@thedrow ํ˜น์‹œ ์šฐ๋ฆฌ ์ค‘ ํ•œ ๋ช…์ด oauthlib ์กฐ์ง ์„ ์†Œ์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ ‡๋‹ค๋ฉด ์šฐ๋ฆฌ์˜ ๋…ธ๋ ฅ์„ ๊ทธ๊ณณ์œผ๋กœ ์˜ฎ๊ธธ ๊ณ„ํš์„ ์„ธ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

oauthlib ์กฐ์ง์— ๋Œ€ํ•œ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋๋‚ฌ๋‹ค! oauthlib/oauthlib๋กœ ์ด๋™

์ƒˆ๋กœ์šด ์กฐ์ง์— ๋ชจ๋“  ์ž์› ๋ด‰์‚ฌ์ž๋ฅผ ์ดˆ๋Œ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ดˆ๋Œ€๋ฅผ ์ˆ˜๋ฝํ•ด ์ฃผ์„ธ์š”.

@idan ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

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