Uploaded image for project: 'Red Hat 3scale API Management'
  1. Red Hat 3scale API Management
  2. THREESCALE-6295

Regenerating the client secret in the developer portal if the feature is disabled results in a wrong rendering

XMLWordPrintable

    • False
    • False
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • No
    • Undefined
    • Workaround Exists
    • Hide
      • Copy the _usage_rules.html.slim file:
        oc rsh -c system-provider system-app-<pod-id> cat /opt/system/app/views/api/services/forms/_usage_rules.html.slim > _usage_rules.html.slim
        
      • Change the copied _usage_rules.html.slim file from lines 9 to 18,  it should look like this:
        - if @service.backend_version == "2"
        = form.input :buyers_manage_keys
        = form.input :mandatory_app_key
        
        - if @service.backend_version > "2" 
        = form.input :buyer_key_regenerate_enabled
        
        = form.input :referrer_filters_required, as: :boolean
        
        = form.input :custom_keys_enabled
        
      • Create a ConfigMap, i.e. "usage-rules" and attach it as volume in system-app:
        oc create configmap usage-rules --from-file=_usage_rules.html.slim
        
        oc set volume dc/system-app --add --name=usage-rules-form -m=/opt/system/app/views/api/services/forms/_usage_rules.html.slim --sub-path=_usage_rules.html.slim -t configmap --configmap-name=usage-rules
        
      • Copy the en.yml file:
        oc rsh -c system-provider system-app-20-rzrw7 cat /opt/system/config/locales/en.yml > en.yml
        
      • Change this line in en.yml to:
        buyer_key_regenerate_enabled: "Allow developers to regenerate Client Secret"
        
      • Create a ConfigMap, i.e. "regenerate-definition" and attach it as volume in system-app:
        oc create configmap regenerate-definition --from-file=en.yml
        
        oc set volume dc/system-app --add --name=regenerate-definition-change -m=/opt/system/config/locales/en.yml --sub-path=en.yml -t configmap --configmap-name=regenerate-definition
        
      • Redeploy system-app if it hasn't redeployed automatically
      • After system-app is redeployed check that "Allow developers to regenerate Client Secret"  appears in the Usage Rules and the red "Regenerate" button is not rendered in the developer portal when "Allow developers to regenerate Client Secret" is disabled.
      Show
      Copy the _usage_rules.html.slim file: oc rsh -c system-provider system-app-<pod-id> cat /opt/system/app/views/api/services/forms/_usage_rules.html.slim > _usage_rules.html.slim Change the copied _usage_rules.html.slim file from lines 9 to 18,  it should look like this: - if @service.backend_version == "2" = form.input :buyers_manage_keys = form.input :mandatory_app_key - if @service.backend_version > "2"   = form.input :buyer_key_regenerate_enabled = form.input :referrer_filters_required, as: : boolean = form.input :custom_keys_enabled Create a ConfigMap, i.e. "usage-rules" and attach it as volume in system-app: oc create configmap usage-rules --from-file=_usage_rules.html.slim oc set volume dc/system-app --add --name=usage-rules-form -m=/opt/system/app/views/api/services/forms/_usage_rules.html.slim --sub-path=_usage_rules.html.slim -t configmap --configmap-name=usage-rules Copy the en.yml file: oc rsh -c system-provider system-app-20-rzrw7 cat /opt/system/config/locales/en.yml > en.yml Change this line in en.yml to: buyer_key_regenerate_enabled: "Allow developers to regenerate Client Secret" Create a ConfigMap, i.e. "regenerate-definition" and attach it as volume in system-app: oc create configmap regenerate-definition --from-file=en.yml oc set volume dc/system-app --add --name=regenerate-definition-change -m=/opt/system/config/locales/en.yml --sub-path=en.yml -t configmap --configmap-name=regenerate-definition Redeploy system-app if it hasn't redeployed automatically After system-app is redeployed check that "Allow developers to regenerate Client Secret"  appears in the Usage Rules and the red "Regenerate" button is not rendered in the developer portal when "Allow developers to regenerate Client Secret" is disabled.

      Current behaviour

      • Service with OIDC authentication mode.
      • Under Service > Applications - Settings > Usage Rules it is possible to disable the ability to manage keys for the developers in the developer portal.
      • When Developers can manage Keys is disabled, the red “Regenerate” button is printed in the developer portal.
      • When clicking the “Regenerate” button in the developer portal it is displayed “Access denied” with the application background. See screenshot attached (access denied error.png). 

      Expected behaviour

      • According to liquid statement the regenerate button shouldn’t be printed when Developers can manage Keys is disabled. See screenshot attached (client secret cannot be regenerated.png)
      • Allow developers to regenerate access key should be replace by “Allow developers to regenerate Client secrets”. See screenshot attached (fix usage rule definition.png). 

        1. Fix_usage_rule_definition.png
          45 kB
          Anna Vila Tusell
        2. client secret cannot be regenerated.png
          92 kB
          Anna Vila Tusell
        3. access denied error.png
          217 kB
          Anna Vila Tusell

            Unassigned Unassigned
            rhn-support-avilatus Anna Vila Tusell
            Alexander Zgabur Alexander Zgabur
            Anna Vila Tusell Anna Vila Tusell
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: