django-hijackでお手軽代理ログイン

  • 9
    いいね
  • 0
    コメント

はじめに

この記事は、Django Advent Calendar 2016 14日目の記事です。

ここでやること

  • django-hijackの紹介
  • django-hijack-adminの紹介

この前のTokyoDjangoMeetup #9@salexkiddに教えてもらいました。

django-hijackとは

https://github.com/arteria/django-hijack/

admins can log in and work on behalf of other users without having to know their credentials.

super_userが、パスワードとか知らなくても代理ログインできちゃうやつ。

特定の条件下での不具合調査や、ユーザ毎に表示が異なる画面の確認などなどサービス開発にありがたい機能です。

AWESOME DJANGOの「ADMIN INTERFACE」の項目にも載ってますね。

django-hijack-adminとは

https://github.com/arteria/django-hijack-admin

Django admin site integration for Django Hijack

django-hijackをDjangoの管理画面から使えるようにするやつ。

django-hijackは、以下のエンドポイントからのログイン機能しか提供してません。

  • /hijack/<user id>
  • /hijack/username/<username>
  • /hijack/email/<user email>

django-hijack-adminを利用することで、ユーザ管理画面からボタン1つで代理ログインできるようになります。

admin-screenshot.png

おわりに

ざっと簡単にdjango-hijackについて紹介しました。
django-hijackを使えば5分もかからずに代理ログインを実装できるので、ぜひ試してみてください!