AuthenticationMiddleware: overview of version 2.0

In the post Request Response Sequence Overview is a UML showing processes that wrap this more detailed look at the Authentication 2.0 middleware.

If your not familiar with a sequence diagram
  • The boxes across the top represent class objects.
  • The vertical dotted lines are the lifespan of the objects
  • The vertical bars are methods and their lifespans
  • Solid horizontal arrows are method calls
  • Dotted horizontal arrows are method returns (mostly)

This shows, roughly, the three phase of the authentication process:

  1. initializing the Authentication middleware (finishes at step 12)
  2. authenticating the request (through step 19)
  3. modifying the Request to reflect the results (through step 29)

More notes below the chart.

Steps 5-10 are pretty specific to my setup, but they stand as a good example of how you will configure multiple authenticators and identifiers that will be used sequentially later during authentication checks.

The class labeled ConcreteAuthenticatior represents the Authenticators loaded in steps 5-8. They will be tried in sequence unless one of them succeeds and returns through step 16. Each one will try all the configured Identifiers in sequence.

Of special interest to me was step 22 where any custom Identifier object you design gets put into play. Having an object with a little more knowledge than just the user record is quite handy.