Oauthlib: oauthlib ์ปค๋ฎค๋‹ˆํ‹ฐ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

์— ๋งŒ๋“  2018๋…„ 01์›” 28์ผ  ยท  10์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: oauthlib/oauthlib

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„,

@idan ์ด oauthlib ์ปค๋ฎค๋‹ˆํ‹ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์ˆ˜๋ฝํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํŒ€์œผ๋กœ์„œ ์ง„์ •ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ๋กœ ๋ฐœ์ „ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์‚ฌํ•ญ์„ ๋‚˜์—ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž‘์€ ๋ชฉ๋ก์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋“ ์ง€ ์ œ์•ˆ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ž์œ ๋กญ๊ฒŒ ์ฐธ์—ฌํ•˜์‹ญ์‹œ์˜ค :-)

๋ฆด๋ฆฌ์Šค ํ”„๋กœ์„ธ์Šค ์ •์˜/๊ฐœ์„ :

  • [x] : ํƒœ๊น…
    ์ž˜๋ชป๋œ ๋ฒ„์ „ ๋ฒˆํ˜ธ๋Š” : ์šฐ๋ฆฌ๋Š”์— 2.0.3์ด github's releases ์—์„œ 2.0.5 __init__.py ์™€์˜ 2.0.6 pypi ํ™•์‹คํžˆ ... ๋ญ”๊ฐ€ ์ž˜๋ชป
  • [x] : ์ถœํŒ
    ๊ฒŒ์‹œ๋ฅผ ์œ„ํ•ด Travis๋ฅผ ๊ณ„์† ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์ง€๋งŒ TRAVIS_TAG ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง์ ‘ ๋ฒ„์ „์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(https://github.com/thomsonreuters/bottle-oauthlib/blob/master/์˜ ์˜ˆ ์ฐธ์กฐ). ํ˜„์žฌ ํ•˜๋“œ ์ฝ”๋”ฉ๋œ ๊ฐ’ ๋Œ€์‹  setup.py: https://github.com/oauthlib/oauthlib/blob/master/oauthlib/__init__.py ). ๋˜ํ•œ @ib-lundgren์ด pypi ํŒจํ‚ค์ง€์˜ ์‹ค์ œ ๊ฒŒ์‹œ์ž์ธ ๊ฒƒ์„ ๋ณด์•˜๋Š”๋ฐ ๊ทธ๋Š” ๋ช‡ ๋…„ ๋™์•ˆ ๋น„ํ™œ์„ฑ ์ƒํƒœ๋กœ ๋ณด์ด์ง€๋งŒ ๋ฌธ์ œ์ธ์ง€๋Š” ๋ชจ๋ฆ…๋‹ˆ๋‹ค.
  • [x] : ๋ฌธ์„œ
    README๋Š” travis-ci.org ์ €์žฅ์†Œ URL์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋œ ๋ฐฐ์ง€๋กœ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•˜๋ฉฐ(์†Œ์œ ์ž๋Š” ์ด๋ฅผ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•จ, AFAIK) ๋ฌธ์„œ ๋นŒ๋“œ์— ๋Œ€ํ•œ ๋ฐฐ์ง€๋„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋žซ๋™์•ˆ ์‹คํŒจํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค: https://readthedocs.org /projects/oauthlib/builds/6483131/
    ์™„๋ฃŒ : https://github.com/oauthlib/oauthlib/pull/520
  • [x] : ํ†ต์‹ 
    github ๋ฌธ์ œ์™€ Google+ ๋ฅผ ๊ณ„์† ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์—๋Š” ์ด์˜๊ฐ€ ์—†์ง€๋งŒ ์•ฝ๊ฐ„ ๊ตฌ์‹์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ #oauthlib IRC ์ฑ„๋„์ด ๋น„์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ~๊ด€์‹ฌ ์žˆ์œผ๋ฉด Slack ๋ฐฉ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•˜์„ธ์š”?~
    ๊ฒฐ๋ก  : gitter๊ฐ€ ๊ตฌ์ถœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. https://gitter.im/oauthlib/Lobby ์—์„œ ์ž์œ ๋กญ๊ฒŒ ์ฐธ์—ฌ

๋ฏธ๋ž˜, ๋กœ๋“œ๋งต:

  • [ ] : ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฒ„๊ทธ ์„ธ์ฒ™์„ ํ•˜๋ฉด ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๋น ๋ฅธ ์›ํ˜• ํ…Œ์ด๋ธ”์ด ์ข‹์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ๊ฐœ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ํ˜„์žฌ ๋ณ‘์ด ์žˆ๋Š” OAuth2.0 RequestValidator ๊ตฌํ˜„์„ ์ž‘์—… ์ค‘์ด๋ฉฐ OAuth1.0, Django, Pyramid ๋˜๋Š” Flask๋กœ ์ž‘์—…ํ•œ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ๊ธฐ์— ๊ด€๋ จ๋œ RFC(oauth2, introspect, revocation, jwt...)์— ๋Œ€ํ•œ ์ข‹์€ ์ง€์‹์„ ์–ป์œผ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์•„์ง OpenID ํ†ตํ•ฉ์„ ์‹œ์ž‘ํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ๊ณง ์˜ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

ํฌ๋งทํ„ฐ๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์ „์— ํ˜„์žฌ ์—ด๋ ค ์žˆ๋Š” PR์„ ๋ณ‘ํ•ฉํ•˜๋Š” ์‹คํ–‰์„ ์›ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ €๋Š” pep8/flake8/yapf๋ฅผ ์ง€์ง€ํ•ฉ๋‹ˆ๋‹ค.

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

๋ชจ๋“  ํ›Œ๋ฅญํ•œ ์•„์ด๋””์–ด @JonathanHuot!

๊ทธ๋ฆฌ๊ณ  ์‚ฌ๋žŒ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

  • ์˜ค๋ž˜๋œ ๊ฐ€์ง€ ์ค‘ ์ผ๋ถ€๋ฅผ ์ฒญ์†Œํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฆด๋ฆฌ์Šค๋ฅผ ๊ณ„ํšํ•˜๊ธฐ ์œ„ํ•ด GitHub์˜ ์ด์ •ํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: 3.0, 3.1, 4.0์—์„œ ์ฒ˜์Œ ์‹คํ–‰ํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค).
  • ์ฃผ์š” ๋ฆด๋ฆฌ์Šค(4.0) ์ค‘ ํ•˜๋‚˜์—์„œ Python 2์— ๋Œ€ํ•œ ์ง€์›์„ ์ค‘๋‹จํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.
  • ์œ ํ˜• ์ฃผ์„ ์†Œ๊ฐœ(Python 2๋ฅผ ์‚ญ์ œํ•œ ํ›„).
  • ์ฝ”๋”ฉ ์Šคํƒ€์ผ์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

@JonathanHuot ๋‚˜๋Š” ์—ฌ๊ธฐ์— ์•ฝ๊ฐ„์˜ ๋ช…ํ™•ํ•œ ๊ฒƒ์„ ์‹œ๋„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค https://github.com/oauthlib/oauthlib/issues/512

์ œ๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ด๋“  ๋ฌผ์–ด๋ณด์„ธ์š”.

chiming in :) PR ์ž‘์—…์„ ํ•˜๋Š” ๋™์•ˆ ๊ฐ€๋” ๋”ฐ๋ผ๊ฐ€๊ธฐ ์–ด๋ ต๊ฒŒ ๋งŒ๋“œ๋Š” ์ฝ”๋”ฉ ์Šคํƒ€์ผ์ด ์—†๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ๊ดœ์ฐฎ์œผ์‹œ๋‹ค๋ฉด ์ž‘์—…ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ œ์•ˆ์ด ํฌํ•จ๋œ ๋ฌธ์ œ๋กœ ์‹œ์ž‘ํ•˜์—ฌ ์Šน์ธ๋œ ํ›„์— :nail_care: ์ฝ”๋“œ๋ฒ ์ด์Šค๋กœ ์‹œ์ž‘ํ• ๊นŒ์š”?

์•ˆ๋…•ํ•˜์„ธ์š” @MattBlack85 ๋‹˜, ์ข‹์€ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ์ด ๋ฐฉํ–ฅ์œผ๋กœ์˜ ์ž‘์—…์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค! :-)

_re: ์ฝ”๋”ฉ ์Šคํƒ€์ผ_. autopep8๊ณผ yapf๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…ํ•œ ํ”„๋กœ์ ํŠธ์—์„œ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋„๊ตฌ๊ฐ€ ์ฝ”๋”ฉ ์Šคํƒ€์ผ์„ ์ •๋ฆฌํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค(์ •๋ฆฌ๋œ ๋ฒ„์ „์ด ํ›จ์”ฌ ์ ์€ ๊ฒฝ์šฐ ์ œ์™ธ ์ผ๋ฐ˜์ ์œผ๋กœ ๋” ๋ช…ํ™•ํ•˜๊ณ  ๊ธธ์ด ๊ฒฝ๊ณ„๋ฅผ ํ•œ๋‘ ๋ฌธ์ž ์ดˆ๊ณผํ•˜๋Š” ์ค„ ๊ธธ์ด์™€ ๊ด€๋ จํ•˜์—ฌ ์ •๋ฆฌํ•˜์ง€ ์•Š๋Š” ๊ฒƒ๋ณด๋‹ค ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. Emacs์—์„œ elpy-mode๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์ง€๋งŒ ๋ช…๋ น์ค„๊ณผ CI์—์„œ๋„ ์‰ฝ๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ €์žฅ์†Œ์˜ ๋ฃจํŠธ์— .editorconfig ๊ฐ€ ์žˆ๋Š” ๊ฒƒ๋„ ์œ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

ํฌ๋งทํ„ฐ๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์ „์— ํ˜„์žฌ ์—ด๋ ค ์žˆ๋Š” PR์„ ๋ณ‘ํ•ฉํ•˜๋Š” ์‹คํ–‰์„ ์›ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ €๋Š” pep8/flake8/yapf๋ฅผ ์ง€์ง€ํ•ฉ๋‹ˆ๋‹ค.

:+1:

๐Ÿ‘

๋‚˜๋Š” PEP8์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค.

์ด์˜๊ฐ€ ์—†์œผ๋ฉด ์ด ์ž‘์—…์ด ์™„๋ฃŒ ๋˜์—ˆ์Œ์„ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค ๐Ÿพ

์ƒˆ๋กœ์šด ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” ํ•˜๋‚˜์˜ ํŒจ์น˜ 2.0.7 ๊ณผ ํ•˜๋‚˜์˜ ๋ถ€ 2.1.0 ๋ฆด๋ฆฌ์Šค๋ฅผ ์ถœ์‹œํ–ˆ์œผ๋ฉฐ ์šฐ๋ฆฌ๋Š” ์ฃผ์š” 3.0.0 ๋ฆด๋ฆฌ์Šค๋ฅผ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์ƒˆ๋กญ๊ณ  ํฅ๋ฏธ๋กœ์šด ๋ฆด๋ฆฌ์Šค์— ์ฐธ์—ฌํ•˜๊ณ  ์ฐธ์—ฌํ•˜๋Š” ๊ฒƒ์„ ๋ง์„ค์ด์ง€ ๋งˆ์‹ญ์‹œ์˜ค!

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