Book Image

Practical XMPP

By : Lloyd Watkin, Steven Watkin, Koelle
Book Image

Practical XMPP

By: Lloyd Watkin, Steven Watkin, Koelle

Overview of this book

XMPP (eXtensible Messaging and Presence Protocol) is a messaging protocol that enables communication between two or more devices via the Internet. With this book, developers will learn about the fundamentals of XMPP, be able to work with the core functionality both server-side and in the browser, as well as starting to explore several of the protocol extensions. You will not only have a solid grasp of XMPP and how it works, but will also be able to use the protocol to build real-world applications that utilize the power of XMPP. By the end of this book, you will know more about networking applications in general, and have a good understanding of how to extend XMPP, as well as using it in sample applications.
Table of Contents (11 chapters)
Free Chapter
1
1. An Introduction to XMPP and Installing Our First Server

Authenticating with a server

As we saw earlier, the server stream setup response advertises a set of mechanisms by which the client can authenticate using SASL. SASL is a standard that, in theory, can support any authentication mechanism that supports the SASL standard.

Currently, you are most likely to see PLAIN or DIGEST-MD5 mechanisms being advertised, but there are several others becoming more popular as awareness in security improves (for example, SCRAM-SHA-1). Some servers will even allow users to authenticate as an anonymous user by advertising the ANONYMOUS authentication mechanism.

Recall that the last portion of a fully formed JID is the resource. Once authentication has completed, the client attempts to bind its connection to that resource. A specific resource (for example, DeLorean) may be requested by the client (this, however, may be overwritten by the server), or a random resource may be supplied instead.