Usage:

* List All Users (JSON)
pwa_auth listuser

* List User (Compact JSON, all on one line)
pwa_auth listuser --compact

* Short Listing (table)
pwa_auth listuser --short

* List individual user (--short works as well), filtering on id, username, or email
pwa_auth listuser [--id 123] [--username foo] [--email foo@example.com]

* Create new user (leave out --password to be prompted interactively)
pwa_auth useradd --username hayashis --fullname "Soichi Hayashi" --email "hayashis@iu.edu" [--password "password4it"]

* modify a user
pwa_auth usermod --id 123 [--username foo] [--fullname "Foo Bar"] [--email "foo@bar.com"]

* Issue new JWT token
pwa_auth issue --scopes '{"sca": ["user"] }' --sub 'test_service' [--out test.jwt] [--key test.key]

pwa_auth issue --scopes '{"sca": ["user","admin"]}' --profile '{"fullname": "Soichi Hayashi (forever)", "email": "hayashis@iu.edu"}' --sub '1' --exp 1514764800

* Reset password (leave out --password to be prompted interactively)
pwa_auth setpass --username hayashis [or --id 123] --password "password#123"

* Modify (set/add/del) user scopes
pwa_auth modscope --username hayashis [or --id 123] --set '{"common": ["user","admin"]}'
pwa_auth modscope --username hayashis [or --id 123] --add '{"common": ["user","admin"]}'
pwa_auth modscope --username hayashis [or --id 123] --del '{"common": ["user","admin"]}'

* Modify (set/add/del) user roles within a given scope (--scope flag)
  - Syntax note: format is JSON array, i.e.: --set '["user","admin"]'
pwa_auth modrole --username hayashis [or --id 123] --set '["user","admin"]' --scope pwa
pwa_auth modrole --username hayashis --add '["admin"]' --scope sca
pwa_auth modrole --username hayashis --del '["admin"]' --scope pwa

* remove user
pwa_auth userdel --username hayashis [or --id 123]

