django-rocketchat-auth
Authenticate your Rocket.Chat users with Django web framework.
This app implements the API used by Rocket.Chat IFrame authentication. Also, it handles logout by wiring up a method on Django signals.
Quickstart
-
Install this app in you project:
pip install django-rocketchat-auth
-
Add "rocketchat_auth" to your INSTALLED_APPS setting like this:
INSTALLED_APPS = ( ... 'rocketchat_auth', )
-
Update your settings.py:
MONGO_DB = 'localhost:27017' ROCKETCHAT = 'localhost'
-
Include the rocketchat_auth URLconf in your project urls.py like this:
urlpatterns += [url(r'^rocketchat/', include('rocketchat_auth.urls'))]
-
You will probably need to use django-cors-headers and set your Rocket.Chat domain in CORS_ORIGIN_WHITELIST
-
Now go to your Rocket.Chat admin page > Settings > Accounts. Enable Iframe and set:
- Iframe URL: http://localhost:8000/login/?next=/rocketchat/redirect (assuming you have a login page in /login)
- URL API: http://localhost:8000/rocketchat/api
Roadmap
- Enforce unique email registration in Django admin, since Rocket.Chat requires this.
- Update Rocket.Chat user details in MongoDB when the user is modified in Django Admin.