Chapter 6. Authentication
A requirement in almost any server application is a system for managing
authentication
. You need to be able to verify the identity of every user who attempts to
access your server, based on their password or some other credentials. Once you allow a
user to log in, you need to manage his permissions, controlling what he can and cannot do.
The twisted.cred
package is designed to facilitate these
kinds of tasks.
Many parts of Twisted rely on twisted.cred
, including
the POP3, IMAP, SSH, and FTP servers. You can also use twisted.cred
to add authentication to a web application, an SMTP server, a
Perspective Broker server, or your own custom protocol. This chapter explains how twisted.cred
works, and how to use it in your
applications.
Using Authentication in a Twisted Server
There are quite a few different classes and interfaces used in twisted.cred
. These classes and interfaces work together to
form a flexible authentication system. This lab introduces the individual pieces of
twisted.cred
and shows how to tie them together to
add authentication to a server.
How Do I Do That?
Set up a portal.Portal
object that takes the
username and password provided by a user, verifies her identity, and returns an
object representing the actions and data available to that user. To do this you’ll
need to implement a few different twisted.cred
interfaces. Example 6-1 demonstrates how
to do this, adding authentication to a simple line-based server protocol.
Get Twisted Network Programming Essentials now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.