)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7186,"name":"Matthieu Huin","email":"mhuin@redhat.com","username":"mhu"},"change_message_id":"84732c600b36e9642d64d8946904a964dfda8646","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7243a21f_2d4969dc","updated":"2021-11-30 09:22:49.000000000","message":"That looks good, should we add a note saying that in this compose, gerrit\u0027s authentication won\u0027t be handled by keycloak?","commit_id":"e66913522843ca8a175e829457c522aa7a0823a3"},{"author":{"_account_id":7186,"name":"Matthieu Huin","email":"mhuin@redhat.com","username":"mhu"},"change_message_id":"ba50b9d6cf5a8ed2fdfc218c01a2868adae98629","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ae35670c_be97cc11","updated":"2021-12-01 19:51:19.000000000","message":"Just a few thoughts, still a +1","commit_id":"15cd1b38fc3487a3b3d7dfe534f8442128840981"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"6cc44841ded15c1b7f0a30edb4a4e9e4c7a625bf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"abaad544_34e6d9ca","updated":"2021-12-03 21:44:35.000000000","message":"Not approving because a couple other people were asked to review this too.","commit_id":"d4e9b66fa0b47f03f12260b39ecb2d2ee6bbea38"}],"doc/source/examples/keycloak/keycloak/zuul-demo-data.json":[{"author":{"_account_id":7186,"name":"Matthieu Huin","email":"mhuin@redhat.com","username":"mhu"},"change_message_id":"ba50b9d6cf5a8ed2fdfc218c01a2868adae98629","unresolved":true,"context_lines":[{"line_number":402,"context_line":"      \"enabled\": true,"},{"line_number":403,"context_line":"      \"totp\": false,"},{"line_number":404,"context_line":"      \"emailVerified\": false,"},{"line_number":405,"context_line":"      \"firstName\": \"Gerrit\","},{"line_number":406,"context_line":"      \"lastName\": \"Administrator\","},{"line_number":407,"context_line":"      \"email\": \"admin@example.com\","},{"line_number":408,"context_line":"      \"credentials\": ["}],"source_content_type":"application/json","patch_set":4,"id":"cdd7757c_2b7c3c98","line":405,"range":{"start_line":405,"start_character":6,"end_line":405,"end_character":28},"updated":"2021-12-01 19:51:19.000000000","message":"NIT: Since this isn\u0027t integrated with Gerrit, that first name is irrelevant","commit_id":"15cd1b38fc3487a3b3d7dfe534f8442128840981"},{"author":{"_account_id":7186,"name":"Matthieu Huin","email":"mhuin@redhat.com","username":"mhu"},"change_message_id":"ba50b9d6cf5a8ed2fdfc218c01a2868adae98629","unresolved":true,"context_lines":[{"line_number":699,"context_line":"        \"microprofile-jwt\""},{"line_number":700,"context_line":"      ]"},{"line_number":701,"context_line":"    },"},{"line_number":702,"context_line":"    {"},{"line_number":703,"context_line":"      \"id\": \"fcc64172-199f-4847-bb97-336dbaadc144\","},{"line_number":704,"context_line":"      \"clientId\": \"gerrit\","},{"line_number":705,"context_line":"      \"description\": \"gerrit oauth client\","},{"line_number":706,"context_line":"      \"rootUrl\": \"http://localhost:8080\","},{"line_number":707,"context_line":"      \"adminUrl\": \"http://localhost:8080\","},{"line_number":708,"context_line":"      \"surrogateAuthRequired\": false,"},{"line_number":709,"context_line":"      \"enabled\": true,"},{"line_number":710,"context_line":"      \"alwaysDisplayInConsole\": false,"},{"line_number":711,"context_line":"      \"clientAuthenticatorType\": \"client-secret\","},{"line_number":712,"context_line":"      \"secret\": \"86909744-7109-4cbe-8044-fb1de3be6acd\","},{"line_number":713,"context_line":"      \"redirectUris\": ["},{"line_number":714,"context_line":"        \"http://localhost:8080/*\","},{"line_number":715,"context_line":"        \"http://127.0.0.1:8080/*\""},{"line_number":716,"context_line":"      ],"},{"line_number":717,"context_line":"      \"webOrigins\": ["},{"line_number":718,"context_line":"        \"http://localhost:8080\""},{"line_number":719,"context_line":"      ],"},{"line_number":720,"context_line":"      \"notBefore\": 0,"},{"line_number":721,"context_line":"      \"bearerOnly\": false,"},{"line_number":722,"context_line":"      \"consentRequired\": false,"},{"line_number":723,"context_line":"      \"standardFlowEnabled\": true,"},{"line_number":724,"context_line":"      \"implicitFlowEnabled\": true,"},{"line_number":725,"context_line":"      \"directAccessGrantsEnabled\": true,"},{"line_number":726,"context_line":"      \"serviceAccountsEnabled\": false,"},{"line_number":727,"context_line":"      \"publicClient\": false,"},{"line_number":728,"context_line":"      \"frontchannelLogout\": false,"},{"line_number":729,"context_line":"      \"protocol\": \"openid-connect\","},{"line_number":730,"context_line":"      \"attributes\": {"},{"line_number":731,"context_line":"        \"saml.assertion.signature\": \"false\","},{"line_number":732,"context_line":"        \"saml.force.post.binding\": \"false\","},{"line_number":733,"context_line":"        \"saml.multivalued.roles\": \"false\","},{"line_number":734,"context_line":"        \"saml.encrypt\": \"false\","},{"line_number":735,"context_line":"        \"saml.server.signature\": \"false\","},{"line_number":736,"context_line":"        \"saml.server.signature.keyinfo.ext\": \"false\","},{"line_number":737,"context_line":"        \"exclude.session.state.from.auth.response\": \"false\","},{"line_number":738,"context_line":"        \"saml_force_name_id_format\": \"false\","},{"line_number":739,"context_line":"        \"saml.client.signature\": \"false\","},{"line_number":740,"context_line":"        \"tls.client.certificate.bound.access.tokens\": \"false\","},{"line_number":741,"context_line":"        \"saml.authnstatement\": \"false\","},{"line_number":742,"context_line":"        \"display.on.consent.screen\": \"false\","},{"line_number":743,"context_line":"        \"saml.onetimeuse.condition\": \"false\""},{"line_number":744,"context_line":"      },"},{"line_number":745,"context_line":"      \"authenticationFlowBindingOverrides\": {},"},{"line_number":746,"context_line":"      \"fullScopeAllowed\": true,"},{"line_number":747,"context_line":"      \"nodeReRegistrationTimeout\": -1,"},{"line_number":748,"context_line":"      \"defaultClientScopes\": ["},{"line_number":749,"context_line":"        \"web-origins\","},{"line_number":750,"context_line":"        \"role_list\","},{"line_number":751,"context_line":"        \"profile\","},{"line_number":752,"context_line":"        \"roles\","},{"line_number":753,"context_line":"        \"email\""},{"line_number":754,"context_line":"      ],"},{"line_number":755,"context_line":"      \"optionalClientScopes\": ["},{"line_number":756,"context_line":"        \"address\","},{"line_number":757,"context_line":"        \"phone\","},{"line_number":758,"context_line":"        \"offline_access\","},{"line_number":759,"context_line":"        \"microprofile-jwt\""},{"line_number":760,"context_line":"      ]"},{"line_number":761,"context_line":"    },"},{"line_number":762,"context_line":"    {"},{"line_number":763,"context_line":"      \"id\": \"63ae0908-5213-436d-b3d6-5a611eb24216\","},{"line_number":764,"context_line":"      \"clientId\": \"realm-management\","}],"source_content_type":"application/json","patch_set":4,"id":"bf0e90fb_ef3d6709","line":761,"range":{"start_line":702,"start_character":0,"end_line":761,"end_character":6},"updated":"2021-12-01 19:51:19.000000000","message":"You can remove the gerrit client, it isn\u0027t used. I\u0027m not sure about side effects of removing this by hand in the json file, worst case scenario you can re-export the file from a running keycloak.","commit_id":"15cd1b38fc3487a3b3d7dfe534f8442128840981"},{"author":{"_account_id":7186,"name":"Matthieu Huin","email":"mhuin@redhat.com","username":"mhu"},"change_message_id":"ba50b9d6cf5a8ed2fdfc218c01a2868adae98629","unresolved":true,"context_lines":[{"line_number":876,"context_line":"      \"redirectUris\": ["},{"line_number":877,"context_line":"        \"http://127.0.0.1:9000/*\","},{"line_number":878,"context_line":"        \"http://localhost:9000/*\","},{"line_number":879,"context_line":"        \"http://127.0.0.1:3000/*\","},{"line_number":880,"context_line":"        \"http://localhost:3000/*\""},{"line_number":881,"context_line":"      ],"},{"line_number":882,"context_line":"      \"webOrigins\": ["},{"line_number":883,"context_line":"        \"http://localhost:9000\","}],"source_content_type":"application/json","patch_set":4,"id":"fbfe947b_2e58451e","line":880,"range":{"start_line":879,"start_character":0,"end_line":880,"end_character":33},"updated":"2021-12-01 19:51:19.000000000","message":"With these values in and the corresponding web origins below, this compose can be used with a development build of the GUI to have authentication set up out of the box. I think it\u0027s worth mentioning in the doc somewhere, maybe in doc/source/reference/developer/javascript.rst","commit_id":"15cd1b38fc3487a3b3d7dfe534f8442128840981"}],"doc/source/tutorials/keycloak.rst":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"5c6d70584247176de06333c41a0415cfd5314358","unresolved":false,"context_lines":[{"line_number":7,"context_line":"this tutorial to add a Keycloak server."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Zuul supports any identity provider that can supply a JWT using OpenID"},{"line_number":10,"context_line":"Connect.  Keystone is used here because it is entirely self-contained."},{"line_number":11,"context_line":"Google authentication is one additional option described elsewhere in"},{"line_number":12,"context_line":"the documentation."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"cc670551_f00a06a8","line":10,"updated":"2021-11-30 16:13:07.000000000","message":"ha!","commit_id":"e66913522843ca8a175e829457c522aa7a0823a3"},{"author":{"_account_id":7186,"name":"Matthieu Huin","email":"mhuin@redhat.com","username":"mhu"},"change_message_id":"84732c600b36e9642d64d8946904a964dfda8646","unresolved":true,"context_lines":[{"line_number":7,"context_line":"this tutorial to add a Keycloak server."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Zuul supports any identity provider that can supply a JWT using OpenID"},{"line_number":10,"context_line":"Connect.  Keystone is used here because it is entirely self-contained."},{"line_number":11,"context_line":"Google authentication is one additional option described elsewhere in"},{"line_number":12,"context_line":"the documentation."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"6814b047_566781b4","line":10,"range":{"start_line":10,"start_character":10,"end_line":10,"end_character":18},"updated":"2021-11-30 09:22:49.000000000","message":"keycloak","commit_id":"e66913522843ca8a175e829457c522aa7a0823a3"},{"author":{"_account_id":7186,"name":"Matthieu Huin","email":"mhuin@redhat.com","username":"mhu"},"change_message_id":"84732c600b36e9642d64d8946904a964dfda8646","unresolved":true,"context_lines":[{"line_number":66,"context_line":"Log Into Zuul"},{"line_number":67,"context_line":"-------------"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Visit http://localhost:3000/t/example-tenant/autoholds and click the"},{"line_number":70,"context_line":"login icon on the top right.  You will be directed to Keycloak, where"},{"line_number":71,"context_line":"you can log into the Zuul realm with the user `admin` and password"},{"line_number":72,"context_line":"`admin`."}],"source_content_type":"text/x-rst","patch_set":1,"id":"eeda1815_0e0b4528","line":69,"range":{"start_line":69,"start_character":23,"end_line":69,"end_character":27},"updated":"2021-11-30 09:22:49.000000000","message":"9000","commit_id":"e66913522843ca8a175e829457c522aa7a0823a3"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"30f9c9bca59c6c95b041d605e2215ce869d81d8f","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Log Into Zuul"},{"line_number":67,"context_line":"-------------"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Visit http://localhost:3000/t/example-tenant/autoholds and click the"},{"line_number":70,"context_line":"login icon on the top right.  You will be directed to Keycloak, where"},{"line_number":71,"context_line":"you can log into the Zuul realm with the user `admin` and password"},{"line_number":72,"context_line":"`admin`."}],"source_content_type":"text/x-rst","patch_set":1,"id":"551ca42f_e7a6ab85","line":69,"updated":"2021-11-30 16:34:07.000000000","message":"I\u0027m sorry, you\u0027re right! I had 2 test setups running simultaneously.","commit_id":"e66913522843ca8a175e829457c522aa7a0823a3"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"5c6d70584247176de06333c41a0415cfd5314358","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Log Into Zuul"},{"line_number":67,"context_line":"-------------"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Visit http://localhost:3000/t/example-tenant/autoholds and click the"},{"line_number":70,"context_line":"login icon on the top right.  You will be directed to Keycloak, where"},{"line_number":71,"context_line":"you can log into the Zuul realm with the user `admin` and password"},{"line_number":72,"context_line":"`admin`."}],"source_content_type":"text/x-rst","patch_set":1,"id":"aa73e5e5_c51b1db0","line":69,"updated":"2021-11-30 16:13:07.000000000","message":"It\u0027s 3000, I double checked -- 9000 is the api.  :)","commit_id":"e66913522843ca8a175e829457c522aa7a0823a3"},{"author":{"_account_id":7186,"name":"Matthieu Huin","email":"mhuin@redhat.com","username":"mhu"},"change_message_id":"ba50b9d6cf5a8ed2fdfc218c01a2868adae98629","unresolved":true,"context_lines":[{"line_number":74,"context_line":"you can log into the Zuul realm with the user `admin` and password"},{"line_number":75,"context_line":"`admin`."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Once you return to Zuul, you should see the option to create an"},{"line_number":78,"context_line":"autohold -- an admin-only option."}],"source_content_type":"text/x-rst","patch_set":4,"id":"08c17f64_113eb692","line":78,"range":{"start_line":77,"start_character":25,"end_line":78,"end_character":33},"updated":"2021-12-01 19:51:19.000000000","message":"NIT: admin status can also be checked on the user info modal. If there\u0027s a little wizard hat by the user\u0027s name, abracadabra! they\u0027re an admin.","commit_id":"15cd1b38fc3487a3b3d7dfe534f8442128840981"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"50412d680ab28aa43a3cf3a7f70fc463ab1693ba","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Zuul supports any identity provider that can supply a JWT using OpenID"},{"line_number":10,"context_line":"Connect.  Keycloak is used here because it is entirely self-contained."},{"line_number":11,"context_line":"Google authentication is one additional option described elsewhere in"},{"line_number":12,"context_line":"the documentation."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Gerrit can be updated to use the same authentication system as Zuul,"},{"line_number":15,"context_line":"but this tutorial does not address that."}],"source_content_type":"text/x-rst","patch_set":5,"id":"bd144755_8cb7fac3","line":12,"updated":"2021-12-03 18:20:47.000000000","message":"Nit: Might be good to include a :ref: to it from here.","commit_id":"d4e9b66fa0b47f03f12260b39ecb2d2ee6bbea38"}]}
