...
- See which version of Grouper to run (at least v2.5.26)
Issue a run command to run the quick start.
Note, for the morph string encrypt and quick start pass, just make up a 16 char alphanumeric string or generate from a password manager.
Note, this is not good security. It is for quick starts only. As you evolve to maturity level 0, you can set a different password encrypted in the database which will not be in a script file or in an env variable, and you can further evolve to Shibboleth or another authentication system.
Note: the first port is the port for apache SSL, change that to whatever you need on your host.
Code Block $ docker run --detach --name grouper-qs \ --publish 443:443 -e GROUPER_MORPHSTRING_ENCRYPT_KEY=******** \ -e GROUPERSYSTEM_QUICKSTART_PASS=******** i2incommon/grouper:2.5.XX quickstart
e.g.
Code Block docker run --detach --name grouper-qs \ --publish 443:443 -e GROUPER_MORPHSTRING_ENCRYPT_KEY=abcdefg12345dontUseThis \ -e GROUPERSYSTEM_QUICKSTART_PASS=thisPassInCopyrightedDontUse i2incommon/grouper:2.5.26 quickstart
Log in to UI (note, the first log in can take a minute as HSQLDB database is started and initted
Code Block Go to: https://localhost/grouper/ Log in with username : GrouperSystem Password is the password you specified in the GrouperSystem QuickStart pass
Try a web service call
Code Block Get the client out of the container (or download from maven) $ docker cp grouper-qs:/opt/grouper/grouperWebapp/WEB-INF/lib/grouperClient-2.5.XX.jar . Now you should have a grouper client jar in your directory Make a config file in the same directory $ vi grouper.client.properties grouperClient.webService.url = https://localhost/grouper-ws/servicesRest grouperClient.webService.login = GrouperSystem grouperClient.webService.password = ****** is the password you specified in the GrouperSystem QuickStart pass # turn off SSL until a real SSL certificate is installed # NOTE, THIS IS NOT GOOD SECURITY AND IS FOR THE QUICK START ONLY! grouperClient.https.customSocketFactory = edu.internet2.middleware.grouperClient.ssl.EasySslSocketFactory $ java -jar grouperClient-2.5.0-SNAPSHOTXX.jar --operation=getSubjectsWs --subjectIds=GrouperSystem Index: 0: success: T, code: SUCCESS, subject: GrouperSystem $
Expand title Full web service call Code Block grouperContainer $ java -jar grouperClient-2.5.0-SNAPSHOT.jar --operation=getSubjectsWs --subjectIds=GrouperSystem --debug=true Reading resource: grouper.client.properties, from: /Users/mchyzer/grouper/docker/grouperContainer/grouper.client.properties WebService: connecting as user: 'GrouperSystem' WebService: connecting to URL: 'https://localhost/grouper-ws/servicesRest/2.5.0-SNAPSHOT/subjects' ################ REQUEST START (indented) ############### POST /grouper-ws/servicesRest/2.5.0-SNAPSHOT/subjects HTTP/1.1 Connection: close Authorization: Basic xxxxxxxxxxxxxxxx User-Agent: Jakarta Commons-HttpClient/3.1 Host: localhost:-1 Content-Length: 161 Content-Type: text/xml; charset=UTF-8 <WsRestGetSubjectsRequest> <wsSubjectLookups> <WsSubjectLookup> <subjectId>GrouperSystem</subjectId> </WsSubjectLookup> </wsSubjectLookups> </WsRestGetSubjectsRequest> ################ REQUEST END ############### ################ RESPONSE START (indented) ############### HTTP/1.1 200 OK Date: Mon, 04 May 2020 02:38:16 GMT Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips Strict-Transport-Security: max-age=15768000 Set-Cookie: JSESSIONID=xxxxxxxxxxxx; HttpOnly X-Grouper-resultCode: SUCCESS X-Grouper-success: T X-Grouper-resultCode2: NONE Content-Type: application/xml;charset=UTF-8 Connection: close Transfer-Encoding: chunked <WsGetSubjectsResults> <wsSubjects> <WsSubject> <resultCode>SUCCESS</resultCode> <success>T</success> <id>GrouperSystem</id> <name>GrouperSysAdmin</name> <sourceId>g:isa</sourceId> </WsSubject> </wsSubjects> <resultMetadata> <resultCode>SUCCESS</resultCode> <resultMessage>Queried 1 subjects</resultMessage> <success>T</success> </resultMetadata> <responseMetadata> <resultWarnings></resultWarnings> <millis>19</millis> <serverVersion>2.5.0-SNAPSHOT</serverVersion> </responseMetadata> </WsGetSubjectsResults> ################ RESPONSE END ############### Output template: Index: ${index}: success: ${success}, code: ${wsSubject.resultCode}, subject: ${wsSubject.id}, available variables: wsGetSubjectsResults, grouperClientUtils, index, wsSubject, wsGroup, success Index: 0: success: T, code: SUCCESS, subject: GrouperSystem Elapsed time: 612ms grouperContainer $
...