in tools/cli/wsk/wskadmin.py [0:0]
def whoisUserCmd(args, props):
protocol = props[DB_PROTOCOL]
host = props[DB_HOST]
port = props[DB_PORT]
username = props[DB_USERNAME]
password = props[DB_PASSWORD]
database = props[DB_WHISK_AUTHS]
authParts = args.authkey.split(':')
uuid = authParts[0]
key = authParts[1]
url = '%(protocol)s://%(host)s:%(port)s/%(database)s/_design/%(view)s/_view/identities?key=["%(uuid)s","%(key)s"]' % {
'protocol': protocol,
'host' : host,
'port' : port,
'username': username,
'database': database,
'view' : args.view,
'uuid' : uuid,
'key' : key
}
headers = {
'Content-Type': 'application/json',
}
res = request('GET', url, headers=headers, auth='%s:%s' % (username, password), verbose=args.verbose)
if res.status == 200:
doc = json.loads(res.read())
if 'rows' in doc and len(doc['rows']) > 0:
for row in doc['rows']:
if 'id' in row:
print('subject: %s' % row['id'])
print('namespace: %s' % row['value']['namespace'])
else:
print('Subject id is not recognized')
return 0
print('Failed to get subject (%s)' % res.read().strip())
return 1