본문으둜 κ±΄λ„ˆλ›°κΈ°

🌐 Twitter

TwitterλŠ” ν˜„μž¬ OAuth 1.0 사양을 μ‚¬μš©ν•˜λŠ” μœ μΌν•œ κΈ°λ³Έ μ œκ³΅μžμž…λ‹ˆλ‹€. μ΄λŠ” access_tokenμ΄λ‚˜ refresh_token을 λ°›μ§€ μ•Šκ³ , λŒ€μ‹  각각 oauth_tokenκ³Ό oauth_token_secret을 λ°›μŒμ„ μ˜λ―Έν•©λ‹ˆλ‹€. Adapterλ₯Ό μ‚¬μš©ν•˜λŠ” 경우, 이 값을 λ°μ΄ν„°λ² μ΄μŠ€ μŠ€ν‚€λ§ˆμ— μΆ”κ°€ν•˜λŠ” 것을 μžŠμ§€ λ§ˆμ„Έμš”.

λ¬Έμ„œβ€‹

https://developer.twitter.com

ꡬ성​

https://developer.twitter.com/en/apps

μ˜΅μ…˜β€‹

Twitter μ œκ³΅μžμ—λŠ” λ‹€μŒκ³Ό 같은 κΈ°λ³Έ μ˜΅μ…˜ μ„ΈνŠΈκ°€ μ œκ³΅λ©λ‹ˆλ‹€:

μ‚¬μš© 사둀에 맞게 μ˜΅μ…˜μ„ μž¬μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ˜ˆμ‹œβ€‹

import TwitterProvider from "next-auth/providers/twitter";
...
providers: [
TwitterProvider({
clientId: process.env.TWITTER_CLIENT_ID,
clientSecret: process.env.TWITTER_CLIENT_SECRET
})
]
...
팁

μ‚¬μš©μžμ˜ 이메일 μ£Όμ†Œλ₯Ό μ–»μœΌλ €λ©΄ μ•± κΆŒν•œμ—μ„œ "μ‚¬μš©μžμ—κ²Œ 이메일 μ£Όμ†Œ μš”μ²­" μ˜΅μ…˜μ„ ν™œμ„±ν™”ν•΄μ•Ό ν•©λ‹ˆλ‹€.

OAuth 2.0​

TwitterλŠ” ν˜„μž¬ 선택적 μ˜΅μ…˜μœΌλ‘œ OAuth 2.0을 μ§€μ›ν•©λ‹ˆλ‹€. 이λ₯Ό ν™œμ„±ν™”ν•˜λ €λ©΄, Provider ꡬ성에 version: "2.0"을 μΆ”κ°€ν•˜λ©΄ λ©λ‹ˆλ‹€:

TwitterProvider({
clientId: process.env.TWITTER_ID,
clientSecret: process.env.TWITTER_SECRET,
version: "2.0", // Twitter OAuth 2.0에 옡트인
})

이 변경은 κ°„λ‹¨ν•˜μ§€λ§Œ, μƒν˜Έμž‘μš©ν•  수 μžˆλŠ” Twitter API에 따라 λ‹¬λΌμ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€. 더 μžμ„Έν•œ λ‚΄μš©μ€ Twitter OAuth 2 λ¬Έμ„œλ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

μ°Έκ³ 

ν˜„μž¬ Twitter OAuth 2.0μ—μ„œλŠ” 이메일이 μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.