Uploaded image for project: 'Keycloak'
  1. Keycloak
  2. KEYCLOAK-5628

Add application endpoints to account service

    XMLWordPrintable

Details

    Description

      What

      • Implement Applications RESTful API to display the list of applications that's associated with user's account

      Why

      • Users should be able to manage applications' permissions, as well remove granted permissions.

      How

      • Implement an /applications RESTful endpoint which is able to return a list of all apps Internal or Thirdy-Party apps
      • The list should be limited to real apps/UIs those the user has access
        • Internal apps: are all the apps already existent in the admin console
        • Thirdy-party apps: are external apps which users granted permissions like Facebook, GitHub and etc
      • Client app should provide an access token prior to send a request to the endpoint
      • HTTP request:
        GET /auth/realms/$REALM/account/applications
        
      • HTTP response:
        Content Type: application/json
        
        [
          {
            "clientId": "security-admin-console",
            "name": "${client_security-admin-console}",
            "baseUrl": "/auth/admin/master/console/index.html",
            "internal": false,
            "inUse": true,
            "clientScopesGranted": [],
            "additionalGrants": [],
            "clientRoles": {},
            "grantedOn": "2019-1-6 17:33:22"
          },
          {
            "clientId": "account",
            "name": "${client_account}",
            "baseUrl": "/auth/realms/master/account",
            "internal": false,
            "inUse": true,
            "clientScopesGranted": [],
            "additionalGrants": [],
            "grantedOn": "2019-2-6 13:00:42",
            "clientRoles": {
              "account": [
                {
                  "client": {
                    "clientId": "account",
                    "name": "${client_account}"
                  },
                  "role": "manage-account",
                  "description": "${role_manage-account}"
                },
                {
                  "client": {
                    "clientId": "account",
                    "name": "${client_account}"
                  },
                  "role": "manage-account-links",
                  "description": "${role_manage-account-links}"
                },
                {
                  "client": {
                    "clientId": "account",
                    "name": "${client_account}"
                  },
                  "role": "view-profile",
                  "description": "${role_view-profile}"
                }
              ]
            }
          }
        ]
        

      Acceptance Criteria

      • Be able to send an HTTP request to Applications endpoint and get all the data needed by the UI
      • Have the integration tests passing
      • Users should be able to list the apps associated with their account

      Additional information

      Attachments

        Issue Links

          Activity

            People

              rhn-engineering-dpalmer Douglas Palmer (Inactive)
              sthorger@redhat.com Stian Thorgersen
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: