Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: introduce Identity UI #19533

Merged
merged 5 commits into from
Jun 20, 2024
Merged

feat: introduce Identity UI #19533

merged 5 commits into from
Jun 20, 2024

Conversation

Ben-Sheppard
Copy link
Contributor

Description

This PR introduces the Identity UI (webjar), it can be served by using the identity profile.

@Ben-Sheppard Ben-Sheppard requested a review from a team June 19, 2024 14:16
@github-actions github-actions bot added component/zeebe Related to the Zeebe component/team component/operate Related to the Operate component/team component/tasklist Related to the Tasklist component/team component/identity Related to the Identity component/team labels Jun 19, 2024
Copy link
Contributor

github-actions bot commented Jun 19, 2024

Operate Opensearch ITs Results

182 tests  ±0   182 ✅ ±0   1m 2s ⏱️ +3s
 19 suites ±0     0 💤 ±0 
 19 files   ±0     0 ❌ ±0 

Results for commit 72390fb. ± Comparison against base commit 9e5f5fb.

♻️ This comment has been updated with latest results.

Copy link
Contributor

github-actions bot commented Jun 19, 2024

Operate Unit Tests Results

308 tests  ±0   307 ✅ ±0   6m 33s ⏱️ +16s
 51 suites ±0     1 💤 ±0 
 51 files   ±0     0 ❌ ±0 

Results for commit 72390fb. ± Comparison against base commit 9e5f5fb.

♻️ This comment has been updated with latest results.

Copy link
Contributor

github-actions bot commented Jun 19, 2024

Operate Integration Tests Results

535 tests  ±0   533 ✅ ±0   7m 22s ⏱️ -32s
 89 suites ±0     2 💤 ±0 
 89 files   ±0     0 ❌ ±0 

Results for commit 72390fb. ± Comparison against base commit 9e5f5fb.

♻️ This comment has been updated with latest results.

Copy link
Contributor

github-actions bot commented Jun 19, 2024

Tasklist Test Results

146 files  ±0  146 suites  ±0   1h 33m 11s ⏱️ - 2m 26s
564 tests ±0  559 ✅ ±0  5 💤 ±0  0 ❌ ±0 
562 runs   - 2  557 ✅  - 2  5 💤 ±0  0 ❌ ±0 

Results for commit 72390fb. ± Comparison against base commit 9e5f5fb.

This pull request removes 13 and adds 13 tests. Note that renamed tests count towards both.
io.camunda.tasklist.webapp.api.rest.v1.controllers.external.ProcessExternalControllerTest ‑ startProcessWithEmbeddedForm(HttpStatus, String, ProcessEntity, ProcessInstanceDTO)[1] expectedHttpStatus=200 OK, bpmnProcessId=StartProcessByForm, processEntity=TenantAwareTasklistEntity[id='1', tenantId='<default>'], providedProcessInstanceDTO=io.camunda.tasklist.webapp.graphql.entity.ProcessInstanceDTO@1b55f187
io.camunda.tasklist.webapp.api.rest.v1.controllers.external.ProcessExternalControllerTest ‑ startProcessWithLinkedForm(HttpStatus, String, ProcessEntity, ProcessInstanceDTO)[1] expectedHttpStatus=200 OK, bpmnProcessId=StartProcessByForm, processEntity=TenantAwareTasklistEntity[id='1', tenantId='<default>'], providedProcessInstanceDTO=io.camunda.tasklist.webapp.graphql.entity.ProcessInstanceDTO@51b1c4dd
io.camunda.tasklist.webapp.security.sso.AuthenticationIT ‑ testLoginAndUsageOfGraphQlApi(BiFunction)[1] orgExtractor=io.camunda.tasklist.webapp.security.sso.AuthenticationIT$$Lambda/0x00007cc4592f1620@4caa6406
io.camunda.tasklist.webapp.security.sso.AuthenticationIT ‑ testLoginAndUsageOfRestApi(BiFunction)[1] orgExtractor=io.camunda.tasklist.webapp.security.sso.AuthenticationIT$$Lambda/0x00007cc4592f1620@4caa6406
io.camunda.tasklist.webapp.security.sso.AuthenticationIT ‑ testLoginFailedWithNoPermissions(BiFunction)[1] orgExtractor=io.camunda.tasklist.webapp.security.sso.AuthenticationIT$$Lambda/0x00007cc4592f1620@4caa6406
io.camunda.tasklist.webapp.security.sso.AuthenticationIT ‑ testLoginFailedWithNoReadPermissions(BiFunction)[1] orgExtractor=io.camunda.tasklist.webapp.security.sso.AuthenticationIT$$Lambda/0x00007cc4592f1620@4caa6406
io.camunda.tasklist.webapp.security.sso.AuthenticationIT ‑ testLoginSucceedWithNoWritePermissions(BiFunction)[1] orgExtractor=io.camunda.tasklist.webapp.security.sso.AuthenticationIT$$Lambda/0x00007cc4592f1620@4caa6406
io.camunda.tasklist.webapp.security.sso.AuthenticationIT ‑ testLoginSuccess(BiFunction)[1] orgExtractor=io.camunda.tasklist.webapp.security.sso.AuthenticationIT$$Lambda/0x00007cc4592f1620@4caa6406
io.camunda.tasklist.webapp.security.sso.AuthenticationIT ‑ testLogout(BiFunction)[1] orgExtractor=io.camunda.tasklist.webapp.security.sso.AuthenticationIT$$Lambda/0x00007cc4592f1620@4caa6406
io.camunda.tasklist.webapp.security.sso.AuthenticationWithPersistentSessionsIT ‑ testLoginFailedWithNoPermissions(BiFunction)[1] orgExtractor=io.camunda.tasklist.webapp.security.sso.AuthenticationWithPersistentSessionsIT$$Lambda/0x0000788b2d31da48@3a5a332
…
io.camunda.tasklist.webapp.api.rest.v1.controllers.external.ProcessExternalControllerTest ‑ startProcessWithEmbeddedForm(HttpStatus, String, ProcessEntity, ProcessInstanceDTO)[1] expectedHttpStatus=200 OK, bpmnProcessId=StartProcessByForm, processEntity=TenantAwareTasklistEntity[id='1', tenantId='<default>'], providedProcessInstanceDTO=io.camunda.tasklist.webapp.graphql.entity.ProcessInstanceDTO@d36e248e
io.camunda.tasklist.webapp.api.rest.v1.controllers.external.ProcessExternalControllerTest ‑ startProcessWithLinkedForm(HttpStatus, String, ProcessEntity, ProcessInstanceDTO)[1] expectedHttpStatus=200 OK, bpmnProcessId=StartProcessByForm, processEntity=TenantAwareTasklistEntity[id='1', tenantId='<default>'], providedProcessInstanceDTO=io.camunda.tasklist.webapp.graphql.entity.ProcessInstanceDTO@11683090
io.camunda.tasklist.webapp.security.sso.AuthenticationIT ‑ testLoginAndUsageOfGraphQlApi(BiFunction)[1] orgExtractor=io.camunda.tasklist.webapp.security.sso.AuthenticationIT$$Lambda/0x00007ddd79318220@2ac9bd10
io.camunda.tasklist.webapp.security.sso.AuthenticationIT ‑ testLoginAndUsageOfRestApi(BiFunction)[1] orgExtractor=io.camunda.tasklist.webapp.security.sso.AuthenticationIT$$Lambda/0x00007ddd79318220@2ac9bd10
io.camunda.tasklist.webapp.security.sso.AuthenticationIT ‑ testLoginFailedWithNoPermissions(BiFunction)[1] orgExtractor=io.camunda.tasklist.webapp.security.sso.AuthenticationIT$$Lambda/0x00007ddd79318220@2ac9bd10
io.camunda.tasklist.webapp.security.sso.AuthenticationIT ‑ testLoginFailedWithNoReadPermissions(BiFunction)[1] orgExtractor=io.camunda.tasklist.webapp.security.sso.AuthenticationIT$$Lambda/0x00007ddd79318220@2ac9bd10
io.camunda.tasklist.webapp.security.sso.AuthenticationIT ‑ testLoginSucceedWithNoWritePermissions(BiFunction)[1] orgExtractor=io.camunda.tasklist.webapp.security.sso.AuthenticationIT$$Lambda/0x00007ddd79318220@2ac9bd10
io.camunda.tasklist.webapp.security.sso.AuthenticationIT ‑ testLoginSuccess(BiFunction)[1] orgExtractor=io.camunda.tasklist.webapp.security.sso.AuthenticationIT$$Lambda/0x00007ddd79318220@2ac9bd10
io.camunda.tasklist.webapp.security.sso.AuthenticationIT ‑ testLogout(BiFunction)[1] orgExtractor=io.camunda.tasklist.webapp.security.sso.AuthenticationIT$$Lambda/0x00007ddd79318220@2ac9bd10
io.camunda.tasklist.webapp.security.sso.AuthenticationWithPersistentSessionsIT ‑ testLoginFailedWithNoPermissions(BiFunction)[1] orgExtractor=io.camunda.tasklist.webapp.security.sso.AuthenticationWithPersistentSessionsIT$$Lambda/0x00007c6cb1343060@5d95e649
…

♻️ This comment has been updated with latest results.

Copy link
Contributor

@maryarm maryarm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work, looks good to me. I only have one question that I've put in place.

@@ -53,6 +54,8 @@ public void initialize(final ConfigurableApplicationContext context) {
propertyMap.put(CAMUNDA_WEBAPPS_DEFAULT_APP_PROPERTY, TASKLIST.getId());
propertyMap.put(
SERVER_SERVLET_SESSION_COOKIE_NAME_PROPERTY, TasklistURIs.COOKIE_JSESSIONID);
} else if (activeProfiles.contains(IDENTITY.getId())) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this logic means that when identity is set in active profiles as the last one, then the default ui is going to be identity's ui?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not quite, it means that if Identity is present in the active profiles and no other web app profile (operate/tasklist) is set, then Identity will be the default UI (visiting localhost:8080 or localhost:8080/identity will work). If another webapp profile is there then Identity will be only found on localhost:8080/identity

<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Camunda Indentity</title>
<title>Camunda Identity</title>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 for fixing typo.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will have another opportunity for including easter eggs 🙈

@Ben-Sheppard Ben-Sheppard added this pull request to the merge queue Jun 20, 2024
@Ben-Sheppard Ben-Sheppard removed this pull request from the merge queue due to a manual request Jun 20, 2024
@Ben-Sheppard Ben-Sheppard force-pushed the identity/support-webjar-for-ui branch from 57b28cf to 0774bce Compare June 20, 2024 12:32
@Ben-Sheppard
Copy link
Contributor Author

Just wanted to update you @maryarm and @steff46 after your reviews. I spotted an issue when trying to start for example just the broker with the StandaloneCamunda class, as Identity is always present the IdentityIndexController was trying to be initialised, however, as the webappsconfiguration wasn't triggered (no operate, tasklist, or identity) there were missing beans.

As we have the identity profile, the simplest approach to me was to just apply the identity profile to the index controller, after this change I can start StandaloneCamunda with only the profile broker as expected.

@Ben-Sheppard Ben-Sheppard added this pull request to the merge queue Jun 20, 2024
Merged via the queue into main with commit a22744b Jun 20, 2024
68 checks passed
@Ben-Sheppard Ben-Sheppard deleted the identity/support-webjar-for-ui branch June 20, 2024 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/identity Related to the Identity component/team component/operate Related to the Operate component/team component/tasklist Related to the Tasklist component/team component/zeebe Related to the Zeebe component/team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants