本文整理汇总了Python中oic.utils.authn.user.UsernamePasswordMako类的典型用法代码示例。如果您正苦于以下问题:Python UsernamePasswordMako类的具体用法?Python UsernamePasswordMako怎么用?Python UsernamePasswordMako使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了UsernamePasswordMako类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_verify_unauthorized
def test_verify_unauthorized(self, srv):
form = create_return_form_env("user", "secret", "QUERY")
authn = UsernamePasswordMako(srv, "login.mako", tl, PASSWD,
"authorization_endpoint")
response, state = authn.verify(parse_qs(form))
assert isinstance(response, Unauthorized)
示例2: __init__
def __init__(self, srv, ldapsrv, return_to, pattern, mako_template,
template_lookup, ldap_user="", ldap_pwd="",
verification_endpoints=["verify"]):
"""
:param srv: The server instance
:param ldapsrv: Which LDAP server to us
:param return_to: Where to send the user after authentication
:param pattern: How to find the entry to log in to.
Expected to be a dictionary where key is one of "dn" or "search".
And the value a dictionary with values depends on the key:
If "dn" only "pattern".
If "search": "base", "filterstr", "scope"
"base" and "filterstr" MUST be present
:param ldap_user: If a search has to be done first which user to do
that as. "" is a anonymous user
:param ldap_pwd: The password for the ldap_user
"""
UsernamePasswordMako.__init__(
self, srv, mako_template, template_lookup, None, return_to,
verification_endpoints=verification_endpoints)
self.ldap = ldap.initialize(ldapsrv)
self.ldap.protocol_version = 3
self.ldap.set_option(ldap.OPT_REFERRALS, 0)
self.pattern = pattern
self.ldap_user = ldap_user
self.ldap_pwd = ldap_pwd
示例3: test_authenticated_as
def test_authenticated_as(self, srv):
form = create_return_form_env("user", "hemligt", "QUERY")
authn = UsernamePasswordMako(srv, "login.mako", tl, PASSWD,
"authorization_endpoint")
response, success = authn.verify(compact(parse_qs(form)))
headers = dict(response.headers)
user, timestamp = authn.authenticated_as(headers["Set-Cookie"])
assert user == {"uid": "user"}
示例4: test_verify
def test_verify(self, srv):
form = create_return_form_env("user", "hemligt", "query=foo")
authn = UsernamePasswordMako(srv, "login.mako", tl, PASSWD,
"authorization_endpoint")
response, success = authn.verify(parse_qs(form))
assert query_string_compare(response.message.split("?")[1],
"query=foo&upm_answer=true")
headers = dict(response.headers)
assert headers["Set-Cookie"].startswith('xyzxyz=')
示例5: test_6
def test_6():
form = create_return_form_env("user", "secret", "QUERY")
srv = SRV()
srv.symkey = rndstr(16)
srv.seed = rndstr()
srv.iv = os.urandom(16)
srv.cookie_name = "xyzxyz"
authn = UsernamePasswordMako(srv, "login.mako", tl, PASSWD,
"authorization_endpoint")
response = authn.verify(parse_qs(form))
assert isinstance(response, Unauthorized)
示例6: test_not_authenticated
def test_not_authenticated(self, srv):
form = create_return_form_env("user", "hemligt", "QUERY")
authn = UsernamePasswordMako(srv, "login.mako", tl, PASSWD,
"authorization_endpoint")
response, state = authn.verify(compact(parse_qs(form)))
headers = dict(response.headers)
kaka = headers["Set-Cookie"]
kaka = kaka.replace("1", "x")
assert authn.authenticated_as(kaka) == (None, 0)
示例7: setup
def setup():
with open("config.yaml", 'r') as f:
config = yaml.load(f)
issuer = config["baseurl"]
ac = AuthnBroker()
authn = UsernamePasswordMako(
None, "login.mako", LOOKUP, PASSWD, "{}/authorization".format(issuer))
ac.add("password", authn)
URLS.append((r'^verify', make_auth_verify(authn.verify)))
authz = AuthzHandling()
client_db_path = os.environ.get("OIDC_CLIENT_DB", "client_db")
LOGGER.info("Using db: {}".format(client_db_path))
cdb = shelve_wrapper.open(client_db_path)
global OAS
OAS = CourseProvider(issuer, SessionDB(issuer), cdb, ac, None,
authz, verify_client, rndstr(16))
OAS.baseurl = issuer
OAS.userinfo = UserInfo(config["userdb"])
# Additional endpoints the OpenID Connect Provider should answer on
add_endpoints(ENDPOINTS, ENDPOINT_FUNCS)
OAS.endpoints = ENDPOINTS
authn.srv = OAS
try:
OAS.cookie_ttl = config["cookie_ttl"]
except KeyError:
pass
try:
OAS.cookie_name = config["cookie_name"]
except KeyError:
pass
keyjar_init(OAS, config["keys"])
public_keys = []
for keybundle in OAS.keyjar[""]:
for key in keybundle.keys():
public_keys.append(key.serialize())
public_jwks = {"keys": public_keys}
filename = "static/jwks.json"
with open(filename, "w") as f:
f.write(json.dumps(public_jwks))
OAS.jwks_uri = "{}/{}".format(OAS.baseurl, filename)
return config
示例8: test_3
def test_3():
form = create_return_form_env("user", "hemligt", "query=foo")
srv = SRV()
srv.symkey = rndstr(16)
srv.seed = rndstr()
srv.iv = os.urandom(16)
srv.cookie_name = "xyzxyz"
authn = UsernamePasswordMako(srv, "login.mako", tl, PASSWD,
"authorization_endpoint")
response = authn.verify(parse_qs(form))
assert response.message == "authorization_endpoint?query=foo&upm_answer=true"
print len(response.headers) == 2
flag = 0
for param, val in response.headers:
if param == "Set-Cookie":
assert val.startswith('xyzxyz=')
flag = 1
assert flag == 1
示例9: test_verify
def test_verify(self, srv):
form = create_return_form_env("user", "hemligt", "query=foo")
authn = UsernamePasswordMako(srv, "login.mako", tl, PASSWD,
"authorization_endpoint")
with LogCapture(level=logging.DEBUG) as logcap:
response, success = authn.verify(compact(parse_qs(form)))
assert query_string_compare(response.message.split("?")[1],
"query=foo&upm_answer=true")
headers = dict(response.headers)
assert headers["Set-Cookie"].startswith('xyzxyz=')
expected = {u'query': u'query=foo', u'login': u'user',
u'password': '<REDACTED>'}
# We have to use eval() here to avoid intermittent
# failures from dict ordering
assert eval(logcap.records[0].msg[7:-1]) == expected
expected = {u'query': u'query=foo', u'login': u'user',
u'password': '<REDACTED>'}
assert eval(logcap.records[1].msg[5:]) == expected
assert logcap.records[2].msg == 'Password verification succeeded.'
expected = {u'query': [u'foo'], 'upm_answer': 'true'}
assert eval(logcap.records[3].msg[8:]) == expected
示例10: test_5
def test_5():
form = create_return_form_env("user", "hemligt", "QUERY")
srv = SRV()
srv.symkey = rndstr(16)
srv.seed = rndstr()
srv.iv = os.urandom(16)
srv.cookie_name = "xyzxyz"
authn = UsernamePasswordMako(srv, "login.mako", tl, PASSWD,
"authorization_endpoint")
response = authn.verify(parse_qs(form))
kaka = ""
for param, val in response.headers:
if param == "Set-Cookie":
kaka = val
break
kaka = kaka.replace("1", "x")
try:
_ = authn.authenticated_as(kaka)
assert False
except Exception:
assert True
示例11: test_1
def test_1():
authn = UsernamePasswordMako(None, "login.mako", tl, PASSWD,
"authorization_endpoint")
assert authn.authenticated_as() is None
示例12: test_authenticated_as_no_cookie
def test_authenticated_as_no_cookie(self):
authn = UsernamePasswordMako(None, "login.mako", tl, PASSWD,
"authorization_endpoint")
res = authn.authenticated_as()
assert res == (None, 0)
示例13: AuthnBroker
# Client data base
cdb = shelve.open("client_db", writeback=True)
sys.path.insert(0, ".")
config = importlib.import_module(args.config)
config.issuer = config.issuer % args.port
config.SERVICE_URL = config.SERVICE_URL % args.port
ac = AuthnBroker()
for authkey, value in config.AUTHENTICATION.items():
authn = None
if "UserPassword" == authkey:
from oic.utils.authn.user import UsernamePasswordMako
authn = UsernamePasswordMako(None, "login.mako", LOOKUP, PASSWD,
"%s/authorization" % config.issuer)
if "SAML" == authkey:
from oic.utils.authn.saml import SAMLAuthnMethod
authn = SAMLAuthnMethod(None, LOOKUP, config.SAML, config.SP_CONFIG, config.issuer,
"%s/authorization" % config.issuer, config.SERVICE_URL,
userinfo=config.USERINFO)
if authn is not None:
ac.add(config.AUTHENTICATION[authkey]["ACR"], authn,
config.AUTHENTICATION[authkey]["WEIGHT"],
config.AUTHENTICATION[authkey]["URL"])
# dealing with authorization
authz = AuthzHandling()
kwargs = {
"template_lookup": LOOKUP,