Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Selektivni HTTP Basic Auth sa Twistd-Klein serverom

[es] :: Python :: Selektivni HTTP Basic Auth sa Twistd-Klein serverom

[ Pregleda: 1957 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Selektivni HTTP Basic Auth sa Twistd-Klein serverom17.02.2017. u 14:44 - pre 87 meseci
Imam prosti Twistd-Klein server, sa ukljucenim globalnim HTTP basic authom:

Code:

from klein import Klein
import attr
from zope.interface import implementer
from twisted.cred.portal import IRealm
from twisted.internet.defer import succeed
from twisted.cred.portal import Portal
from twisted.cred.checkers import FilePasswordDB
from twisted.web.resource import IResource
from twisted.web.guard import HTTPAuthSessionWrapper, BasicCredentialFactory


app = Klein()


# health check
@app.route('/health', methods=['GET'])
def health_check(request):
    return ''


# dataset query API
@app.route('/query/<path:expression>', methods=['GET'])
def query(request, expression):
    response = evaluate_expression(expression)
    return response


@implementer(IRealm)
@attr.s
class HTTPAuthRealm(object):
    resource = attr.ib()

    def requestAvatar(self, avatarId, mind, *interfaces):
        return succeed((IResource, self.resource, lambda: None))


def resource():
    realm = HTTPAuthRealm(resource=app.resource())
    portal = Portal(realm, [FilePasswordDB('./configs/server-auth.db')])
    credential_factory = BasicCredentialFactory('Authentication required')
    return HTTPAuthSessionWrapper(portal, [credential_factory])


Jel neko zna kako da iskljucim auth za npr /heath API, a da za ostale auth ostane ukljucen?
Citam dokumente ali mi nikako ne ide u glavu:
https://twistedmatrix.com/documents/14.0.1/core/howto/cred.html

[Ovu poruku je menjao reiser dana 17.02.2017. u 16:05 GMT+1]
 
Odgovor na temu

[es] :: Python :: Selektivni HTTP Basic Auth sa Twistd-Klein serverom

[ Pregleda: 1957 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.