OmniAuth Kakao OAuth2
카카오 인증을 위한 올바른 OmniAuth OAuth2 strategy를 제공하는 Ruby gem입니다. 카카오 API 명세에 따라, client_secret
을 헤더가 아닌 요청 본문에 포함합니다.
설치
gem install omniauth-kakao-oauth2
사용법
Rails 설정
# config/initializers/omniauth.rb
Rails.application.config.middleware.use OmniAuth::Builder do
# 기본
provider :kakao, ENV['KAKAO_CLIENT_ID']
# + Options
provider :kakao, ENV['KAKAO_CLIENT_ID'], {
scope: 'profile_nickname,profile_image,account_email',
redirect_url: 'http://localhost:3000/auth/kakao/callback'
}
# + Client Secret
provider :kakao, ENV['KAKAO_CLIENT_ID'], ENV['KAKAO_CLIENT_SECRET']
# + Client Secret & Options
provider :kakao, ENV['KAKAO_CLIENT_ID'], ENV['KAKAO_CLIENT_SECRET'], {
scope: 'profile_nickname,profile_image,account_email',
redirect_url: 'http://localhost:3000/auth/kakao/callback'
}
end
인증 해시
# request.env['omniauth.auth']
{
provider: 'kakao',
uid: '123456789',
info: {
name: 'John Doe',
username: 'john@example.com', # 이메일이 username으로도 제공됨
email: 'john@example.com',
image: 'https://...',
nickname: 'johndoe'
},
credentials: {
token: 'ACCESS_TOKEN',
expires_at: 1234567890,
expires: true
},
extra: {
raw_info: { ... },
kakao_account: { ... },
properties: { ... }
}
}
Contribute
버그 신고와 PR은 https://github.com/GoCoder7/omniauth-kakao-oauth2 로 부탁드립니다.