Oauth.md
Last updated
Last updated
μ΅κ·Ό μΈν°λ· μλΉμ€λ€μ κ·Έ μμ²΄κ° SaaS(Software as a Service)μ ννμ λλ€. μλΉμ€ μ€μμ μ¬μ©μκ° μΌλΆ νμν κ²λ§ μ¬μ©ν μ μκ² νλ€λ κ²μ λλ€. μ΄κ²μ λ³λμ μΈμ¦μ μ°¨λ₯Ό κ±°μΉλ©΄ λ€λ₯Έ μλΉμ€μμ ν΄λΉ μλΉμ€μ κΈ°λ₯μ μΌλΆ μ΄μ©ν μ μκ² λλ κ²μΌλ‘ λ°μ νμμ΅λλ€. μ΄λ μ¬μ©νλ μΈμ¦ μ μ°¨κ° λ°λ‘ OAuthμ λλ€.
OAuthλ μΈν°λ· μ¬μ©μλ€μ΄ λΉλ°λ²νΈλ₯Ό μ 곡νμ§ μκ³ λ€λ₯Έ μΉμ¬μ΄νΈ μμ μμ λ€μ μ 보μ λν΄ μΉμ¬μ΄νΈλ μ ν리μΌμ΄μ μ μ κ·Ό κΆνμ λΆμ¬ν μ μλ 곡ν΅μ μΈ μλ¨μΌλ‘μ μ¬μ©λλ, μ κ·Ό μμμ μν κ°λ°©ν νμ€μ λλ€.
OAuth μ΄μ μ API μ κ·Ό μμ(API Access Delegation)μ μν μλλ€
OAuthμ νμμ΄μ μλ Google, Yahoo!, Amazonλ±μ κΈ°μ λ€μμλ λ€λ₯Έ μ ν리μΌμ΄μ μ μ¬μ©μμ μμ΄λμ μνΈκ° λ ΈμΆλμ§ μλλ‘ νλ©΄μ API μ κ·Ό μμ(API Access Delegation)μ΄ κ°λ₯ν μ¬λ¬ μΈμ¦λ°©λ²μ μ체μ μΌλ‘ κ°λ°ν΄ μ¬μ© μ€μ΄μμ΅λλ€.
2006λ APIμ κ·Ό μμμ λν νμ€μμ΄ μλ€λ κ²μ μΈμ§ν Twitterμ κ°λ°μμ Gnoliaμ κ°λ°μκ° λ§λ μΈμ¦λ°©μμ λ Όμνκ³ μ§μ§νλ μ¬λλ μκΈ°κ² λλ©΄μ 2008λ IETF(κ΅μ μΈν°λ· νμ€ν 기ꡬ)μμ λ Όμκ° μμκ³ μ΄ν 2010λ μ OAuth 1.0νλ‘ν μ½ νμ€μμ΄ μ μμΌλ‘ RFC5849λ‘ λ°νλμμ΅λλ€.
νμ¬ λμμλ OAuth2.0μ λλννΈ λ¨κ³(μ΄μ)μ μλ κ²μΌλ‘, OAuth 1.0κ³Ό νΈνλμ§λ μμ§λ§ μΈμ¦ μ μ°¨κ° κ°λ΅νλ€λ μ₯μ μ΄ μμ΄ μ΅μ’ μμ΄ λμ€μ§ μμμμλ μ¬λ¬ μλΉμ€μμ μ¬μ©μ€μ΄μμ΅λ€.
μ£ΌμκΈ°μ λ€μ΄ μ¬μ©μ€μΈ OAuth λ²μ
μμ κΈμ OAuthμ λ°κΈ κ³Όμ κ³Ό κΆνμ μμλ‘ λ κ²μ μ΄λ€.
λ°©λ¬Έμ¦ == OAuth, μ¬μμ¦ === λ‘κ·ΈμΈ
μ¦, λ°©λ¬Έμ¦μ κ°μ§ μ¬λμ΄ μΆμ ν μ μλ κ³³κ³Ό, μ¬μμ¦μ κ°μ§ μ¬λμ΄ μΆμ ν μ μλ 곡κ°μ΄ λ€λ₯΄λ―μ΄ OAuthλ₯Ό ν΅ν΄ κΆνμ μΈμ¦λ°μ μ¬μ©μμ λ‘κ·ΈμΈνμ¬ μΈμ¦λ°μ μ¬μ©μκ° ν μ μλ μΌμ λ€λ¦ λλ€.
κ·Έλ κΈ° λλ¬Έμ OAuthμΈμ¦μ μ§νν λ μλΉμ€ μ 곡μλ λ€μκ³Ό κ°μ΄ 'μ 3μκ° μ΄λ€ μ 보λ μλΉμ€μ μ¬μ©μμ κΆνμΌλ‘ μ κ·Όνλ € νλλ° νμ© νκ² λ?'λΌλ μλ΄ λ©μμ§μ λμ νμ΄μ§κ° νμν©λλ€.
OpenID : μΈμ¦μ μν νλ‘ν μ½, HTTPμ¬μ©
νμ§λ§ OpenIDμ λͺ©μ μ μΈμ¦μ΄μ§λ§, OAuthμ μ£Όμ λͺ©μ μ νκ°μ λλ€.
μ¦, OpenIDλ λ‘κ·ΈμΈνλ νλκ³Ό λ λΉμ·ν©λλ€.
OAuthλ₯Ό μ΄μ©νμ¬ μΈμ¦μ νλ κ³Όμ μ OAuth DanceλΌκ³ ν©λλ€.
OAuthλ₯Ό μ΄ν΄νκΈ° μν΄ λͺ κ°μ§ μ©μ΄λ€μ΄ μμ΅λλ€.
λ ꡬ체μ μΈ λ΄μ©μ naverd2oauth λ₯Ό μ°Έκ³ νμΈμ
OAuth 1.0μ μμμ λ΄€λ―μ΄ λ³΅μ‘ν μ μ°¨, μΌλ° μ ν리μΌμ΄μ μμλ μ¬μ©νκΈ° κ³€λνκΈ° λλ¬Έμ OAuth 2.0μ΄ λ¨μ μ κ°μ μμΌ λμ¨ κ²μ λλ€. OAuth 1.0κ³Όλ νΈνμ±μ΄ μκ³ μ΅μ’ μμ΄ μμ§ λ°νλμ§ μμμ§λ§ μ¬λ¬ μλΉμ€μμ μ¬μ©μ€μ λλ€.
νΉμ§
μΉ μ ν리μΌμ΄μ μ΄ μλ μ ν리μΌμ΄μ μ§μ κ°ν μνΈνκ° νμ μμ HTTPSλ₯Ό μ¬μ©νκ³ HMACμ μ¬μ©νμ§ μλλ€.
Siganature λ¨μν μ λ ¬κ³Ό URL μΈμ½λ©μ΄ νμ μλ€.
Access Token κ°±μ : OAuth 1.0μμ Access Tokenμ λ°μΌλ©΄ Access Tokenμ κ³μ μ¬μ©ν μ μμλ€. νΈμν°μ κ²½μ°μλ Access Tokenμ λ§λ£μν€μ§ μλλ€. OAuth 2.0μμλ 보μ κ°νλ₯Ό μν΄ Access Tokenμ Life-timeμ μ§μ ν μ μλλ‘ νλ€.
μΈμ¦ κ³Όμ
μΈμ¦ κ³Όμ μμ