{"action":"opened","issue":{"url":"https://api.github.com/repos/mconf/mconf-chat-desktop/issues/1","repository_url":"https://api.github.com/repos/mconf/mconf-chat-desktop","labels_url":"https://api.github.com/repos/mconf/mconf-chat-desktop/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/mconf/mconf-chat-desktop/issues/1/comments","events_url":"https://api.github.com/repos/mconf/mconf-chat-desktop/issues/1/events","html_url":"https://github.com/mconf/mconf-chat-desktop/issues/1","id":153054565,"number":1,"title":"Authentication against a web portal","user":{"login":"mconf-daileon","id":1714273,"avatar_url":"https://avatars.githubusercontent.com/u/1714273?v=3","gravatar_id":"","url":"https://api.github.com/users/mconf-daileon","html_url":"https://github.com/mconf-daileon","followers_url":"https://api.github.com/users/mconf-daileon/followers","following_url":"https://api.github.com/users/mconf-daileon/following{/other_user}","gists_url":"https://api.github.com/users/mconf-daileon/gists{/gist_id}","starred_url":"https://api.github.com/users/mconf-daileon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mconf-daileon/subscriptions","organizations_url":"https://api.github.com/users/mconf-daileon/orgs","repos_url":"https://api.github.com/users/mconf-daileon/repos","events_url":"https://api.github.com/users/mconf-daileon/events{/privacy}","received_events_url":"https://api.github.com/users/mconf-daileon/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mconf/mconf-chat-desktop/labels/prio:medium","name":"prio:medium","color":"c4686a"},{"url":"https://api.github.com/repos/mconf/mconf-chat-desktop/labels/type:feature","name":"type:feature","color":"fbe383"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-05-04T16:17:10Z","updated_at":"2016-05-04T16:17:11Z","closed_at":null,"body":"---\n\n\nAuthor Name: **Leonardo Daronco** (Leonardo Daronco)\nOriginal Redmine Issue: 938, http://dev.mconf.org/redmine/issues/938\nOriginal Date: 2013-08-14\n\n\n---\n\nImplement the authentication in the XMPP server against a web portal (Mconf-Web and Joomla, specially).\r\n\r\nThe authentication will be made as a script \"plugged into\" the ejabberd server. It should make a request to the web portal passing the username (or login or any other identifier) and password, both informed by the user in the desktop client, and receive back a confirmation that the user is logged in or not. This request will be made to a custom route that will possibly have to be implemented in the web portal and that should return not only yes/no but also:\r\n\r\n* Authentication succeded:\r\n\r\n   * return the user's username, full name and other information we might find useful to add to the user's vcard.\r\n\r\n* Authentication failed:\r\n\r\n   * return a reason, at least it has to inform if the user exists or not.\r\n\r\nThe authentication script will also have to create and remove users dinamycally based on the answer given by the web portal:\r\n\r\n* If the user is authenticated successfully for the first time, add it to ejabberd's database;\r\n* If authentication fails and the answer says that the user doesn not exist, remove it from ejabberd's database.\n\n\n"}}