)]}'
{"id":"openstack%2Fkeystoneauth~1000915","triplet_id":"openstack%2Fkeystoneauth~master~Ie88a49555e9220dcc12a43f5e905162ce038e554","project":"openstack/keystoneauth","branch":"master","hashtags":[],"change_id":"Ie88a49555e9220dcc12a43f5e905162ce038e554","subject":"Add a v3websso authentication plugin","status":"ABANDONED","created":"2026-08-13 22:30:37.000000000","updated":"2026-08-13 22:46:54.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"beef216b2e05a7d42ad2abed253bea1b0d45ae29","_number":1000915,"virtual_id_number":1000915,"owner":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"actions":{},"labels":{"Verified":{"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{},"pending_reviewers":{},"reviewer_updates":[],"messages":[{"id":"fa9f57e1a85e08c4ab771dbabfe8b65527389ef6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-08-13 22:30:37.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"beef216b2e05a7d42ad2abed253bea1b0d45ae29","tag":"autogenerated:gerrit:abandon","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-08-13 22:46:54.000000000","message":"Abandoned\n\nAccidently changed the Change-ID","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"64e71fadf9189c179395cdb26b46ce01496bc3d4","revisions":{"64e71fadf9189c179395cdb26b46ce01496bc3d4":{"kind":"REWORK","_number":1,"created":"2026-08-13 22:30:37.000000000","uploader":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"ref":"refs/changes/15/1000915/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystoneauth","ref":"refs/changes/15/1000915/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystoneauth refs/changes/15/1000915/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystoneauth refs/changes/15/1000915/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystoneauth refs/changes/15/1000915/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystoneauth refs/changes/15/1000915/1"}}},"commit":{"parents":[{"commit":"9c28aa6eb6b2f62b7c3946bf02b90413f57db6bf","subject":"Merge \"trivial: Declare attributes on _BaseAdapter\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystoneauth/commit/9c28aa6eb6b2f62b7c3946bf02b90413f57db6bf"}]}],"author":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-08-12 17:29:26.000000000","tz":-300},"committer":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-08-13 21:36:21.000000000","tz":-300},"subject":"Add a v3websso authentication plugin","message":"Add a v3websso authentication plugin\n\nImplement Keystone\u0027s WebSSO protocol as a v3websso authentication plugin.\nThe plugin opens Keystone\u0027s WebSSO endpoint in the user\u0027s browser, receives\nthe unscoped token that Keystone posts back to a listener on a loopback\nport, and rescopes it as the other federated plugins do.\n\nWebSSO is not a standardised protocol. Keystone defined it so that Horizon\ncould authenticate users against an external identity provider, modelling\nit on the SAML 2.0 Web Browser SSO Profile. The callback path and the\ndefault port are the values given in the Horizon and Keystone federation\ninstallation guides, since Keystone matches the callback against its\ntrusted_dashboard list verbatim.\n\nThe unscoped token is cached on disk so that rescoping to another project\ndoes not require authenticating in a browser again. The token-cache option\nchooses between reusing a cached token, refreshing one that is known to be\nbad, and disabling the cache entirely; cache-path relocates it.\n\nDerived from the keystoneauth-oidc plugin originally developed by the\nSpanish National Research Council and INDIGO-DataCloud.\n\nChange-Id: Ie88a49555e9220dcc12a43f5e905162ce038e554\nSigned-off-by: Doug Goldstein \u003ccardoe@cardoe.com\u003e\nAssisted-By: Claude Opus 5\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystoneauth/commit/64e71fadf9189c179395cdb26b46ce01496bc3d4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystoneauth/commit/64e71fadf9189c179395cdb26b46ce01496bc3d4"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
