)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"23064397d307d653cbfc7878ad9b4750e8415a2e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"PoC external auth using user mapping"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Implements: bp/external-auth-federation-mapping"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ifa7342fe94edcdb0c84c07f72ce40c4da905e24d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1ae5cdf2_b6044716","line":9,"updated":"2014-05-30 12:54:35.000000000","message":"suggest using: \n\n    bp external-auth-federation-mapping\n\nso it will link to the launchpad blueprint.","commit_id":"7d020a86a11a60f31271e4cdda5e949c6a502025"}],"keystone/auth/plugins/external.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"23064397d307d653cbfc7878ad9b4750e8415a2e","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from keystone.openstack.common.gettextutils import _"},{"line_number":26,"context_line":"from keystone.openstack.common import versionutils"},{"line_number":27,"context_line":"# mapping"},{"line_number":28,"context_line":"from six.moves.urllib import parse"},{"line_number":29,"context_line":"from keystone.contrib import federation"},{"line_number":30,"context_line":"from keystone.contrib.federation import utils"},{"line_number":31,"context_line":"from keystone.openstack.common import jsonutils"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_76b63f3f","line":28,"updated":"2014-05-30 12:54:35.000000000","message":"nit: move this up to line 19 with the other import for six","commit_id":"7d020a86a11a60f31271e4cdda5e949c6a502025"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"23064397d307d653cbfc7878ad9b4750e8415a2e","unresolved":false,"context_lines":[{"line_number":28,"context_line":"from six.moves.urllib import parse"},{"line_number":29,"context_line":"from keystone.contrib import federation"},{"line_number":30,"context_line":"from keystone.contrib.federation import utils"},{"line_number":31,"context_line":"from keystone.openstack.common import jsonutils"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"CONF \u003d config.CONF"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_1696db94","line":31,"updated":"2014-05-30 12:54:35.000000000","message":"nit: group these with the rest of the keystone imports","commit_id":"7d020a86a11a60f31271e4cdda5e949c6a502025"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"685a8f745eb694ceb2b04bff1273267ef813a6fb","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            identity_provider, protocol)"},{"line_number":92,"context_line":"        rules \u003d jsonutils.loads(mapping[\u0027rules\u0027])"},{"line_number":93,"context_line":"        rule_processor \u003d utils.RuleProcessor(rules)"},{"line_number":94,"context_line":"        assertion \u003d {\u0027REMOTE_USER\u0027: remote_user}"},{"line_number":95,"context_line":"        mapped_properties \u003d rule_processor.process(assertion)"},{"line_number":96,"context_line":"        utils.validate_groups(mapped_properties[\u0027group_ids\u0027],"},{"line_number":97,"context_line":"                              mapping[\u0027id\u0027], self.identity_api)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_36be7c00","line":94,"updated":"2014-05-30 10:07:34.000000000","message":"you are not relying on the assertion issued by a trusted IdP, thus preventing cloud admins to create restrictive rules based on a set of attributes (like departament, office number etc).\nSuggested fetching all attributes, usually set in the environment, and extending with REMOTE_USER. Something like https://github.com/openstack/keystone/blob/master/keystone/contrib/federation/utils.py#L137","commit_id":"7d020a86a11a60f31271e4cdda5e949c6a502025"}]}
