Uploaded image for project: 'Identity Provider'
  1. Identity Provider
  2. IDP-509

Implement secondary storage index for consent

    XMLWordPrintable

    Details

      Description

      Store a secondary index of consent storage records to facilitate lookup of all keys for a given context and user.

      The storage context for the secondary index should be a constant such as "_consent_index". The storage key will be the user identifier. The storage value will be a JSON array of JSON objects which map consent storage contexts to consent storage keys.

      Given consent storage records such as :

      "intercept/terms-of-use":{
              "jdoe@shibboleth.net":{
                  "v":"[{\"id\":\"Terms of Use 1.0\",\"v\":\"rHo...=\"}]",
                  "x":1447298319881
              }
          }
      
          "intercept/attribute-release":{
              "jdoe@shibboleth.net:https://sp.example.org":{
                  "v":"[{\"id\":\"eduPersonAffiliation\",\"v\":\"AYc...=\"},{\"id\":\"email\",\"v\":\"AER...=\"}]",
                  "x":1447298320943
              }
      

      the secondary index would be

          "_consent_idx":{
              "jdoe@shibboleth.net":{
                  "v":"[{\"ctx\":\"intercept/terms-of-use\",\"keys\":[\"jdoe@shibboleth.net\"]},{\"ctx\":\"intercept/attribute-release\",\"keys\":[\"jdoe@shibboleth.net:https://sp.example.org\"]}]"
              }
          }
      

        Attachments

          Activity

            People

            Assignee:
            tzeller@shibboleth.net Tom Zeller
            Reporter:
            tzeller@shibboleth.net Tom Zeller
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 3 hours, 30 minutes
                3h 30m