def setUp(self):
        app = Sanic(__name__)
        app.config["SECRET_KEY"] = "my secret"
        Session(app)

        digest_auth_my_realm = HTTPDigestAuth(realm="My Realm",
                                              qop="auth",
                                              use_opaque=False)

        @digest_auth_my_realm.get_password
        def get_digest_password_3(username):
            if username == "susan":
                return "hello"
            elif username == "john":
                return "bye"
            else:
                return None

        @app.route("/")
        def index(request):
            return text("index")

        @app.route("/digest-with-realm")
        @digest_auth_my_realm.login_required
        def digest_auth_my_realm_route(request):
            return text(f"digest_auth_my_realm:"
                        f"{digest_auth_my_realm.username(request)}")

        self.app = app
        self.client = app.test_client
    def setUp(self):
        app = Sanic(__name__)
        app.config["SECRET_KEY"] = "my secret"
        app.config["CORS_AUTOMATIC_OPTIONS"] = True

        CORS(app)
        digest_auth = HTTPDigestAuth(use_session=False, qop="auth")

        @digest_auth.get_password
        def get_digest_password_2(username):
            if username == "susan":
                return "hello"
            elif username == "john":
                return "bye"
            else:
                return None

        @app.route("/")
        def index(request):
            return text("index")

        @app.route("/digest")
        @digest_auth.login_required
        def digest_auth_route(request):
            return text(f"digest_auth:{digest_auth.username(request)}")

        self.app = app
        self.digest_auth = digest_auth
        self.client = app.test_client
    def setUp(self):
        app = Sanic(__name__)
        app.config["SECRET_KEY"] = "my secret"

        Session(app,
                interface=InMemorySessionInterface(cookie_name="test_session"))
        digest_auth_ha1_pw = HTTPDigestAuth(use_ha1_pw=True)

        @digest_auth_ha1_pw.get_password
        def get_digest_password(username):
            if username == "susan":
                return get_ha1(username, "hello", digest_auth_ha1_pw.realm)
            elif username == "john":
                return get_ha1(username, "bye", digest_auth_ha1_pw.realm)
            else:
                return None

        @app.route("/")
        def index(request):
            return "index"

        @app.route("/digest_ha1_pw")
        @digest_auth_ha1_pw.login_required
        def digest_auth_ha1_pw_route(request):
            return text(
                f"digest_auth_ha1_pw:{digest_auth_ha1_pw.username(request)}")

        self.app = app
        self.client = app.test_client
Ejemplo n.º 4
0
    def setUp(self):
        app = Sanic(__name__)
        app.config["SECRET_KEY"] = "my secret"
        self.nonce = None
        self.opaque = None

        Session(app,
                interface=InMemorySessionInterface(cookie_name="test_session"))

        digest_auth_ha1_pw = HTTPDigestAuth(use_ha1_pw=True, qop=None)
        digest_auth_ha1_pw._generate_random = MagicMock(side_effect=[
            "9549bf6d4fd6206e2945e8501481ddd5",
            "47c67cc7bedf6bc754f044f77f32b99e"
        ])

        @digest_auth_ha1_pw.get_password
        def get_digest_password(username):
            if username == "susan":
                return get_ha1(username, "hello", digest_auth_ha1_pw.realm)
            elif username == "john":
                return get_ha1(username, "bye", digest_auth_ha1_pw.realm)
            else:
                return None

        @app.route("/")
        def index(request):
            return "index"

        @app.route("/digest_ha1_pw")
        @digest_auth_ha1_pw.login_required
        def digest_auth_ha1_pw_route(request):
            return text(
                f"digest_auth_ha1_pw:{digest_auth_ha1_pw.username(request)}")

        self.app = app
        self.client = app.test_client
Ejemplo n.º 5
0
from sanic import Sanic, response
from sanic_httpauth import HTTPDigestAuth
from sanic_session import Session

app = Sanic(__name__)
app.config["SECRET_KEY"] = "secret key here"
auth = HTTPDigestAuth()
Session(app)

users = {"john": "hello", "susan": "bye"}


@auth.get_password
def get_pw(username):
    if username in users:
        return users.get(username)
    return None


@app.route("/")
@auth.login_required
def index(request):
    return response.text(f"Hello, {auth.username(request)}")


if __name__ == "__main__":
    app.run()