...
- See which version of Grouper to run (at least v2.5.27)
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 (i.e. one that is not in use and one that you can get to through the network)
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=thisPassIsCopyrightedDontUse i2incommon/grouper:2.5.2737 quickstart
Log in to UI (note, the first log in can take a minute as HSQLDB database is started and initted.)
Note: change "localhost" to your server IP address or domain name, and add the port if not 443. e.g. https://server.whatever.edu:1234/grouper/
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 # note add the port after localhost if not using 443 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.XX.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 $
...