DjangoでLINEログインを実装する
公開: 2020/6/28更新: 2024/12/8
ソーシャルログインはLINEが多いらしい
私が作ったMathQというWebサービスがあるのですが、今までは開発時間短縮のため、 Googleアカウントでのログインしかできませんでした。
でも調べてみるとソーシャルログイン使用率が高いのはLINEらしいということで、 LINEログインもできるようにしようと思いました。
social-auth-app-djangoを調査
ソーシャルログインにはsocial-auth-app-djangoを使っているので、LINE対応できるか調べてみました。
ドキュメントとかには書いてなかったですが、ソースコードを見る限り対応してるっぽいので試してみたらできました。 すでにGoogleの方でやってることをトレースするだけです。
結構面倒かなと思ってたけど意外と簡単でした。
settings.py
SOCIAL_AUTH_LINE_KEY = 'Channel ID'
SOCIAL_AUTH_LINE_SECRET = 'Channel Secret'
AUTHENTICATION_BACKENDS = (
'social_core.backends.google.GoogleOAuth2',
'social_core.backends.line.LineOAuth2',
'django.contrib.auth.backends.ModelBackend',
)
login.html
<a href="{% url 'social:begin' 'line' %}">Line Login</a>
まとめ
Djangoでソーシャルログインを実装したい人は試してみてください。