{"id":221364,"date":"2011-08-06T08:00:00","date_gmt":"2011-08-06T08:00:00","guid":{"rendered":"https:\/\/www.weixiaoduo.com\/plugins\/2024\/02\/22\/xmpp-auth\/"},"modified":"2016-01-15T22:33:00","modified_gmt":"2016-01-15T22:33:00","slug":"xmpp-auth","status":"publish","type":"post","link":"https:\/\/www.weixiaoduo.com\/plugins\/xmpp-auth\/","title":{"rendered":"XMPP Authentication"},"content":{"rendered":"<p>This plugin has two main features:<\/p>\n<ul>\n<li>any reader on your website can comment if one has an Instant Messaging<br \/>\naddress (XMPP protocol, otherwise called Jabber. A Gmail or a LiveJournal<br \/>\naccount for instance are such standard IM identifiers as well);<\/li>\n<li>a subscribed user (whatever its role) can authenticate with one\u2019s IM<br \/>\naddress if they set their IM address.<\/li>\n<\/ul>\n<p>This plugin is still in experimental state but is usable.<\/p>\n<h4>Detailed Process<\/h4>\n<p>The authentication part is something like openID, except that it uses your<br \/>\nexisting IM address: you ask for authentication on a website, and it pops-up a<br \/>\nconfirmation via IM (that you can accept, or refuse).<\/p>\n<p>Considering that the IM protocol (XMPP) is very secure,<br \/>\nall the infrastructure to securely exchange an authentication request is<br \/>\nthere. No need to make any new account, no need a special client, nor a<br \/>\nidentity third party provider, and that\u2019s really instantaneous (as <em>instant<\/em><br \/>\nmessaging) and more secure than HTTP or SMTP protocols.<\/p>\n<h4>Spam Protection<\/h4>\n<p>It adds an additional layer to protect against Spam by verifying an<br \/>\nidentity using a very secure and modern protocol (XMPP), which also is instant,<br \/>\nhence much more reliable in any way than email for instance.<\/p>\n<h4>Secure and Easy Login<\/h4>\n<p>Many reasons to use such a plugin for login:<\/p>\n<ul>\n<li>not to have to remember a new password (password-login can be disabled in<br \/>\nyour profile, on a per-user choice);<\/li>\n<li>you are in a very insecure environment (for instance a cybercafe) and consider<br \/>\nonly your IM account to be a minimum securized. Or better, you run an IM<br \/>\nclient on your smartphone (or a similar tool), so you would receive the query<br \/>\non this personal item while never typing any kind of password on the insecure<br \/>\nplatform where you log.<\/li>\n<li>And so on.<\/li>\n<\/ul>\n<h3>Configuration<\/h3>\n<h4>Publishing Account<\/h4>\n<p>This section contains the connection parameters of the account which will be<br \/>\nused as a wordpress bot. I would personnaly advice to create a dedicated account<br \/>\njust for it (you may also use your personal account of course, as the plugin\u2019s<br \/>\nbot will create a resource identifier unique for every connection) and to<br \/>\nconfigure it to refuse any contact and communication (as noone will have to<br \/>\nadd it to one\u2019s roster, except you maybe for test or debugging purpose?).<br \/>\nThe fields are:<\/p>\n<ul>\n<li>The bot address (bare jid form: mybotname@myserveraddress);<\/li>\n<li>the password.<\/li>\n<\/ul>\n<h4>Advanced Connection Parameters<\/h4>\n<p>By default xmpp-auth can use SRV records which is a recommended way to<br \/>\nadvertize server and port from a domain name (see for instance<br \/>\nhttp:\/\/dns.vanrein.org\/srv\/ for details).<\/p>\n<p>This is an advanced section in case your server does not use SRV AND uses a server<br \/>\nwhich is not the same as the domain from the jid or a port different from the<br \/>\ndefault one (5222).<\/p>\n<p>Hence there will be very very few cases where you will have to fill this<br \/>\nsection and if you don\u2019t understand all what I say here, just don\u2019t fill<br \/>\nanything there (if you fill even only one field, then it will be used instead<br \/>\nof SRV and default values).<\/p>\n<p>The default values will be used if the fields are empty and no SRV is configured on<br \/>\nthe Jabber server:<\/p>\n<ul>\n<li>the XMPP server (often the same as \u2018myseveraddress\u2019 of the jid);<\/li>\n<li>the XMPP port (usually 5222).<\/li>\n<\/ul>\n<h3>TODO<\/h3>\n<p>Features I am considering:<\/p>\n<ul>\n<li>check quickstart (http:\/\/xmpp.org\/extensions\/inbox\/quickstart.html). In<br \/>\nparticular, I should at least cache DNS lookups now.<\/li>\n<li>deactivate IM features when plugin not configured.<\/li>\n<li>For comments, use the IM avatar of the commenter instead of gravatar;<\/li>\n<li>Make various notifications usually done by email be done by IM instead (if<br \/>\nadequate);<\/li>\n<li>Display the comment\u2019s JID on the admin page (as we display the email<br \/>\naddress, obviously only for administrators);<\/li>\n<li>Add Scram-* to SASL package;<\/li>\n<li>Make the generic XMPP part a PEAR package.<\/li>\n<li>Subscribe with XMPP JID.<\/li>\n<li>Login with JID or username (both possible).<\/li>\n<li>If password is disabled, it also cannot be resetted.<\/li>\n<li>Make user choose to receive password reset or other notification through IM<br \/>\ninstead of email.<\/li>\n<\/ul>\n<h3>XMPP Features<\/h3>\n<p>Full Secure XML Stream with:<\/p>\n<ul>\n<li>TLS (with real certificate verification, so confidentiality and<br \/>\nauthentication);<\/li>\n<li>SASL (Digest-MD5, CRAM-MD5 and PLAIN only for now);<\/li>\n<li>SRV records \u201crandomization\u201d algorithm.<\/li>\n<\/ul>\n<h3>Contacts<\/h3>\n<p>You can have some news about this plugin on <a href=\"http:\/\/jehan.zemarmot.net\" title=\"my public diary\" rel=\"nofollow ugc\">my freedom<br \/>\nhaven<\/a>.<br \/>\nYou can also drop me an instant message on \u201chysseo\u201d at zemarmot.net.<\/p>\n<p>Have a nice life!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Allows users to authenticate without password via XMPP and for visitors to be<br \/>\nfiltered by XMPP verification.<\/p>\n","protected":false},"author":65,"featured_media":392141,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"slim_seo":{"title":"XMPP Authentication - \u8587\u6653\u6735\u63d2\u4ef6\u76ee\u5f55","description":"Allows users to authenticate without password via XMPP and for visitors to be filtered by XMPP verification."},"footnotes":""},"categories":[1],"tags":[180,124,14559,52782,14560],"class_list":["post-221364","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-authentication","tag-comments","tag-jabber","tag-xep-0070","tag-xmpp"],"_links":{"self":[{"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/posts\/221364","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/users\/65"}],"replies":[{"embeddable":true,"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/comments?post=221364"}],"version-history":[{"count":0,"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/posts\/221364\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/media\/392141"}],"wp:attachment":[{"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/media?parent=221364"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/categories?post=221364"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.weixiaoduo.com\/plugins\/wp-json\/wp\/v2\/tags?post=221364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}