'Looks up an interface by interface ID for a user.  If the
interface is not available but configured a
`Authenticator.DoesNotExist` will be raised just as if the
authenticator was not configured at all.'

def get_interface(self, user, interface_id):

    interface = AUTHENTICATOR_INTERFACES.get(interface_id)
    if ((interface is None) or (not interface.is_available)):
        raise LookupError(('No    such    interface    %r' % interface_id))
    try:
        return Authenticator.objects.get(user=user, type=interface.type).interface
    except Authenticator.DoesNotExist:
        return interface()
