Conversation
a0567c8 to
a1ecbd3
Compare
dadiorchen
left a comment
There was a problem hiding this comment.
@Mohmn please check the comment
features/keycloak-login.feature
Outdated
| @keycloak-auth | ||
| Feature: Keycloak Login | ||
|
|
||
| @keycloak-invalid |
There was a problem hiding this comment.
Please don’t naming tag arbitrarily, every tag should be defined if we want to add new, @Skip is the one for skip invalided test
| @@ -1,3 +1,4 @@ | |||
| @local-auth | |||
| Feature: Login | |||
There was a problem hiding this comment.
Don’t need these two feature, just keep this one, and move the keycloak-login here.
| @@ -0,0 +1,90 @@ | |||
| import { | |||
There was a problem hiding this comment.
Is this written by yourself or generated by AI? The more test put it here, the more maintainace burden ahead.
There was a problem hiding this comment.
yes ai, i use ai for tests
| @@ -0,0 +1,59 @@ | |||
| import React from 'react'; | |||
|
Also, the CI/CD failed for some reason, can you take a look? The recent one passed with no error, https://github.com/Greenstand/treetracker-admin-client/actions/runs/22834081601/job/66431365450?pr=1171 |
#1176 |
fb0d605 to
f119c8c
Compare
|
@Mohmn looks good, the admin user is not good putting here, please: create a normal user, and use that user to login to replace the admin user. And regenerate the report + video again. |
I have cleaned up the npm-related issues. However, package.json still needs some cleanup, i noticed that some packags are using * instead of version no's |
|
Great, please change the user and password, I will merge the code |
b252418 to
dd2e622
Compare
|
If the error don’t break the test, that’s fine But I see the user name is still the |
strange , i guess something went wrong with my rebase |

Description
Added Keycloak SSO integration (keycloak-js) with check-sso bootstrap and PKCE.
Moved auth initialization to app startup (src/index.js) before rendering routes.
Added clean auth routing flow:
LoginRoute starts SSO login
AuthCallback handles Keycloak callback and redirects back to original page
PrivateRoute simplified to guard-only behavior
Added axios auth client setup (authAxios / publicAxios) with:
token refresh via ensureFreshToken(30)
auth header attachment for protected requests
fallback to legacy token when Keycloak is disabled
redirect to /login on refresh failure
Refactored existing API/network calls from fetch to axios in API modules and related components/contexts (without introducing new backend endpoints).
Issue(s) addressed
What kind of change(s) does this PR introduce?
Please check if the PR fulfils these requirements
Issue
What is the current behavior?
What is the new behavior?
Breaking change
Does this PR introduce a breaking change?
Other useful information