Sun 18 March 2018
Arnaud | in
XMPP | tags:
XMPP python Django xep-0070
This article follow up the article about
Authentication without password using XMPP on a Django website previously presented here. This article introduced the XMPP extension (XEP-0070) which allows one to connect on a website with his XMPP account, without additional password.
Unfortunately, the XEP-0070 is not widely used but this article aims to present you my little contribution to change this situation.
Those who know me know that I tends to have multiple projects in parallels. I have one in the back of my head since several months but it is too early to talk about it yet. I want this project to be usable with XMPP. Some resources will be accessible on a web server but I don't want to force users to manage additional passwords. This is the perfect use case of XEP-0070.
In order to test the accessibility and the number of user-friendly clients that support this extension, I published a small demo website:
This website is built with the famous
Django framework. Moreover, the revelant code is available in the previous post and on the Gitlab page.
You can try the demo by clicking on the "Sign In" button. The only information needed is your XMPP account (JID). You will then receive a request on your XMPP client. If it does support the XEP, you will be invited to click in a dialog box in order to accept the connection.
It your client does not support it, there is a fallback mechanism where you receive a message from "auth.agayon.be". Unfortunately, The method may be tedious on some mobile clients. It is quite sad because it is the best use case of the XEP.
Shortly after I submitted a
bug report about this feature, edhelas from the Movim project implemented it. His reactivity is remarkable. The feature is available on the official pods.
Salut à toi (Primitivus)
Conversations, one of the best mobile clients, does not support the feature yet.
The sources are available on my
The service is still in beta. Do not hesitate to contact me if you experience some bugs with the demo.
You no longer have excuses to avoid to authenticate users on your platform with XMPP.
Nice and user-friendly clients implement it.
The Chteufleur's component is stable and easy to use.
It is quite easy to add the functionality on the website running with django,
Wordpress and it should not be an insurmountable challenge with ruby on rails.
In the future, I will probably encourage new users to use Movim with my projects as it does not require installation and it supports the XEP.
I hope to be able to give you updates soon about the agayon project.
In the meantime, bug reports have been submitted:
Stay tuned !