Exemplo n.º 1
0
def test_1():
    rest = REST('http://localhost')
    cnf = create_model('C.T.T.T')

    cnf['tool']['issuer'] = 'http://example.com/op'
    cnf['tool']['sig'] = True

    qiss = quote_plus(cnf['tool']['issuer'])
    qtag = cnf['tool']['tag']
    rest.write(qiss, qtag, cnf)

    _ecnf = rest.construct_config(qiss, qtag)

    assert set(_ecnf.keys()) == {'client', 'keys', 'tool'}
    assert set(_ecnf['client'].keys()) == {'behaviour', 'client_prefs',
                                           'registration_info'}
Exemplo n.º 2
0
def test_1():
    rest = REST('http://localhost')
    cnf = create_model('C.T.T.T')

    cnf['tool']['issuer'] = 'http://example.com/op'
    cnf['tool']['sig'] = True

    qiss = quote_plus(cnf['tool']['issuer'])
    qtag = cnf['tool']['tag']
    rest.write(qiss, qtag, cnf)

    _ecnf = rest.construct_config(qiss, qtag)

    assert set(_ecnf.keys()) == {'client', 'keys', 'tool'}
    assert set(_ecnf['client'].keys()) == {
        'behaviour', 'client_prefs', 'registration_info'
    }
Exemplo n.º 3
0
    res = {'tool': tool}
    if cli_reg:
        res["client"] = {"registration_response": cli_reg}
    if prov_info:
        try:
            res['client']['provider_info'] = prov_info
        except KeyError:
            res['client'] = {'provider_info': prov_info}

    return port, res


if __name__ == '__main__':
    sys.path.insert(0, '.')
    rest = REST('', '../entities')
    assigned_port = AssignedPorts('../aasigned_ports', 60000, 64000)
    for fil in sys.argv[1:]:
        if fil.endswith('.py'):
            print(fil)
            port, cnf = convert(fil[:-3])
            try:
                iss = cnf['tool']['issuer']
            except KeyError:
                iss = cnf['client']['provider_info']['issuer']
            qiss = quote_plus(iss.lower())

            if qiss.startswith('http'):
                qtag = quote_plus(cnf['tool']['tag'])
                fname = rest.entity_file_name(qiss, qtag)
                _key = '{}:{}'.format(qiss, qtag)
Exemplo n.º 4
0
    #     '-x', dest='xport', action='store_true', help='ONLY for testing')
    parser.add_argument('-m', dest='path2port')
    parser.add_argument(dest="config")
    args = parser.parse_args()

    session_opts = {
        'session.type': 'memory',
        'session.cookie_expires': True,
        'session.auto': True,
        'session.timeout': 900
    }

    sys.path.insert(0, ".")
    CONF = importlib.import_module(args.config)

    rest = REST(None, CONF.ENT_PATH, CONF.ENT_INFO)
    if args.tag:
        qtag = quote_plus(args.tag)
    else:
        qtag = 'default'

    ent_conf = None
    try:
        ent_conf = rest.construct_config(quote_plus(args.issuer), qtag)
    except Exception as err:
        print('iss:{}, tag:{}'.format(quote_plus(args.issuer), qtag))
        for m in traceback.format_exception(*sys.exc_info()):
            print(m)
        exit()

    setup_logging("%s/rp_%s.log" % (SERVER_LOG_FOLDER, args.port), logger)
Exemplo n.º 5
0
parser.add_argument('--hint', dest='login_hint')
parser.add_argument('-i', dest='issuer')
parser.add_argument('-l', dest='ui_locales')
parser.add_argument('-L', dest='claims_locales')
parser.add_argument('-p', dest='profile', default='C.T.T.T')
parser.add_argument('-s', dest='sig', action='store_true')
parser.add_argument('-t', dest='tag')
parser.add_argument('-x', dest='extra', action='store_true')
parser.add_argument('-w', dest='webfinger_email')
parser.add_argument('-W', dest='webfinger_url')

args = parser.parse_args()

ent_info_path='{}/entity_info'.format(args.entity_root)

rest = REST('', '{}/entities'.format(args.entity_root), ent_info_path)
cnf = create_model(args.profile, ent_info_path)

for item in ['sig', 'enc', 'extra']:
    if getattr(args, item):
        cnf['tool'][item] = True

for item in ['acr_values', 'login_hint', 'ui_locales', 'claims_locales',
             'webfinger_url', 'webfinger_email', 'issuer', 'profile', 'tag']:
    v = getattr(args, item)
    if v:
        cnf['tool'][item] = v

qiss = quote_plus(cnf['tool']['issuer'])
qtag = cnf['tool']['tag']
rest.write(qiss, qtag, cnf)
Exemplo n.º 6
0
#!/usr/bin/env python3
import json
from urllib.parse import quote_plus

from oidctest.app_conf import REST
from oidctest.ass_port import AssignedPorts

old = REST('', entpath='entities')
old_info = old.items()
present = REST('', entpath='entities.present')
present_info = present.items()

assigned_port = AssignedPorts('./assigned_ports.json', 60001, 64000)
assigned_port.load()
pap = AssignedPorts('./assigned_ports.json.present', 60001, 64000)
pap.load()


def new_port(iss, tag, proposal=0):
    _k = pap.make_key(iss, tag)
    _p = 0
    if proposal:
        if proposal not in assigned_port.values():
            _p = proposal
        else:
            print("!!!! Can't use proposed port")

    if not _p:
        try:
            _p = pap[_k]
        except KeyError:
Exemplo n.º 7
0
    #     '-x', dest='xport', action='store_true', help='ONLY for testing')
    parser.add_argument('-m', dest='path2port')
    parser.add_argument(dest="config")
    args = parser.parse_args()

    session_opts = {
        'session.type': 'memory',
        'session.cookie_expires': True,
        'session.auto': True,
        'session.timeout': 900
    }

    sys.path.insert(0, ".")
    CONF = importlib.import_module(args.config)

    rest = REST(None, CONF.ENT_PATH, CONF.ENT_INFO)
    if args.tag:
        qtag = quote_plus(args.tag)
    else:
        qtag = 'default'

    ent_conf = None
    try:
        ent_conf = rest.construct_config(quote_plus(args.issuer), qtag)
    except Exception as err:
        print('iss:{}, tag:{}'.format(quote_plus(args.issuer), qtag))
        for m in traceback.format_exception(*sys.exc_info()):
            print(m)
        exit()

    setup_logging("%s/rp_%s.log" % (SERVER_LOG_FOLDER, args.port), logger)
Exemplo n.º 8
0
parser.add_argument('--hint', dest='login_hint')
parser.add_argument('-i', dest='issuer')
parser.add_argument('-l', dest='ui_locales')
parser.add_argument('-L', dest='claims_locales')
parser.add_argument('-p', dest='profile', default='C.T.T.T')
parser.add_argument('-s', dest='sig', action='store_true')
parser.add_argument('-t', dest='tag')
parser.add_argument('-x', dest='extra', action='store_true')
parser.add_argument('-w', dest='webfinger_email')
parser.add_argument('-W', dest='webfinger_url')

args = parser.parse_args()

ent_info_path = '{}/entity_info'.format(args.entity_root)

rest = REST('', '{}/entities'.format(args.entity_root), ent_info_path)
cnf = create_model(args.profile, ent_info_path)

for item in ['sig', 'enc', 'extra']:
    if getattr(args, item):
        cnf['tool'][item] = True

for item in [
        'acr_values', 'login_hint', 'ui_locales', 'claims_locales',
        'webfinger_url', 'webfinger_email', 'issuer', 'profile', 'tag'
]:
    v = getattr(args, item)
    if v:
        cnf['tool'][item] = v

qiss = quote_plus(cnf['tool']['issuer'])
Exemplo n.º 9
0
    res = {'tool': tool}
    if cli_reg:
        res["client"] = {"registration_response": cli_reg}
    if prov_info:
        try:
            res['client']['provider_info'] = prov_info
        except KeyError:
            res['client'] = {'provider_info': prov_info}

    return port, res


if __name__ == '__main__':
    sys.path.insert(0, '.')
    rest = REST('', '../entities')
    assigned_port = AssignedPorts('../assigned_ports.json', 60000, 64000)
    for fil in sys.argv[1:]:
        if fil.endswith('.py'):
            print(fil)
            port, cnf = convert(fil[:-3])
            try:
                iss = cnf['tool']['issuer']
            except KeyError:
                iss = cnf['client']['provider_info']['issuer']
            qiss = quote_plus(iss.lower())

            if iss.startswith('http'):
                qtag = quote_plus(cnf['tool']['tag'])
                fname = rest.entity_file_name(qiss, qtag)
                _key = assigned_port.make_key(iss, cnf['tool']['tag'])