feat(jans-cli-tui): add arguments --auth-url, --config-url, --scim-url#13414
feat(jans-cli-tui): add arguments --auth-url, --config-url, --scim-url#13414
Conversation
Signed-off-by: Mustafa Baser <mbaser@mail.com>
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughAdds CLI options Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
|
Signed-off-by: Mustafa Baser <mbaser@mail.com>
|
There was a problem hiding this comment.
Actionable comments posted: 4
♻️ Duplicate comments (1)
jans-cli-tui/cli_tui/cli/config_cli.py (1)
321-328:⚠️ Potential issue | 🟡 MinorProperty can return
Noneimplicitly for unexpectedmy_op_modevalues.If
my_op_modeis not 'jca', 'scim', or 'auth', the property returnsNoneimplicitly, which would causeurljointo fail downstream.🛡️ Proposed fix to handle unexpected modes
`@property` def server_url(self): if self.my_op_mode == 'jca': return self.config_url elif self.my_op_mode == 'scim': return self.scim_url elif self.my_op_mode == 'auth': return self.auth_url + else: + raise ValueError(f"Unknown operation mode: {self.my_op_mode}")🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@jans-cli-tui/cli_tui/cli/config_cli.py` around lines 321 - 328, The server_url property can implicitly return None for unexpected my_op_mode values; update the server_url property (method server_url) to handle unknown modes explicitly by either raising a clear exception or returning a safe default URL (e.g., empty string) and include the offending my_op_mode in the message; reference the symbols my_op_mode, server_url, config_url, scim_url, and auth_url when making the change so callers using urljoin never receive None.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@jans-cli-tui/cli_tui/cli/config_cli.py`:
- Around line 292-304: The constructor is mutating the global args by appending
slashes; instead, avoid changing args and normalize when assigning instance
attributes: create a small helper (e.g., normalize_url) or use local variables
to compute normalized_auth = args.auth_url.rstrip('/') + '/' (or use fallback)
and assign to self.auth_url, self.config_url, self.scim_url inside __init__
without modifying args; reference the existing normalization block and the
attributes self.auth_url / self.config_url / self.scim_url so reviewers can
replace the in-place args mutations with instance-level normalization.
- Around line 292-304: The constructor for JCA_CLI currently always prefers
module-level args.auth_url/config_url/scim_url over the provided host, causing
plugin-instantiated hosts to be ignored; update JCA_CLI.__init__ to accept
optional auth_url, config_url, and scim_url parameters and change the assignment
logic so the precedence is: constructor parameter (if not None) > args.* (if
present) > default built from self.idp_host, and ensure you normalize trailing
slashes for the chosen URL (add '/' if missing) the same way the current code
does for args.* to avoid duplicate or missing slashes.
- Around line 515-516: Extract the repeated literal 'restv1/token' into a single
constant (e.g. TOKEN_ENDPOINT) defined near the top of the class that contains
the methods using it, then replace all four occurrences where url =
urljoin(self.auth_url, 'restv1/token') (and any similar urljoin uses) with url =
urljoin(self.auth_url, TOKEN_ENDPOINT); update references in methods that use
self.auth_url, urljoin, and self.cli_logger to use the new TOKEN_ENDPOINT to
improve maintainability.
- Around line 1042-1045: The debug log references an undefined variable `url`;
compute the URL first by calling self.get_url_for_endpoint(url_path) into a
local variable (e.g., url) and then call self.cli_logger.debug("Delete request:
%s", url) before calling session.delete, and pass that same `url` variable into
session.delete instead of calling get_url_for_endpoint inline; update references
around the delete call in the method that contains get_url_for_endpoint and
session.delete to use the new local `url`.
---
Duplicate comments:
In `@jans-cli-tui/cli_tui/cli/config_cli.py`:
- Around line 321-328: The server_url property can implicitly return None for
unexpected my_op_mode values; update the server_url property (method server_url)
to handle unknown modes explicitly by either raising a clear exception or
returning a safe default URL (e.g., empty string) and include the offending
my_op_mode in the message; reference the symbols my_op_mode, server_url,
config_url, scim_url, and auth_url when making the change so callers using
urljoin never receive None.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 844242a6-f951-4e79-a4fe-bc9d398e4348
📒 Files selected for processing (1)
jans-cli-tui/cli_tui/cli/config_cli.py
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
jans-cli-tui/cli_tui/cli/config_cli.py (1)
516-560:⚠️ Potential issue | 🔴 CriticalDiscovery fetch still bypasses custom auth base URL.
check_connection()now validates token viaself.auth_url, but thenLine 558callsget_openid_configuration(), which still useshttps://{self.idp_host}(Line 497). For custom--auth-urldeployments on different scheme/host/path, connection checks can fail despite valid token endpoint connectivity.🐛 Proposed fix (derive discovery endpoint from auth base URL)
def get_openid_configuration(self): try: + discovery_url = urljoin(self.auth_url, self.discovery_endpoint.lstrip('/')) response = session.get( - url = 'https://{}{}'.format(self.idp_host, self.discovery_endpoint), + url=discovery_url, headers=self.get_request_header({'Accept': 'application/json'}), verify=self.verify_ssl, cert=self.mtls_client_cert )🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@jans-cli-tui/cli_tui/cli/config_cli.py` around lines 516 - 560, check_connection() currently validates against self.auth_url but then calls get_openid_configuration(), which still builds discovery using self.idp_host; update get_openid_configuration() to derive the OpenID discovery URL from the configured auth base (self.auth_url) instead of hardcoding https://{self.idp_host}, and ensure it preserves scheme, host, and path components (use urljoin or equivalent) so custom --auth-url values are honored; adjust any callers (e.g., check_connection) to pass/expect the discovery URL from self.auth_url if needed and remove reliance on idp_host for discovery resolution.
♻️ Duplicate comments (3)
jans-cli-tui/cli_tui/cli/config_cli.py (3)
1043-1047:⚠️ Potential issue | 🔴 Critical
urlis referenced before assignment in delete flow.
Line 1043logsurlbefore it is created, causing a runtimeNameError(matches Ruff/flake F821).🐛 Proposed fix
- self.cli_logger.debug("Delete request: %s", url) + url = self.get_url_for_endpoint(url_path) + self.cli_logger.debug("Delete request: %s", url) response = session.delete( - url=self.get_url_for_endpoint(url_path), + url=url, headers=self.get_request_header({'Accept': 'application/json'}), verify=self.verify_ssl, cert=self.mtls_client_cert )🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@jans-cli-tui/cli_tui/cli/config_cli.py` around lines 1043 - 1047, The debug log references url before it's defined, causing a NameError; fix by resolving the endpoint URL before logging and then reuse it for the delete call: call self.get_url_for_endpoint(url_path) and assign it to a local variable (e.g., url) prior to self.cli_logger.debug, then pass that url to session.delete (and keep get_request_header usage unchanged). Update the code paths that call self.cli_logger.debug("Delete request: %s", url) and session.delete(...) to use this same url variable, referencing the methods self.get_url_for_endpoint and self.get_request_header to locate the change.
292-304:⚠️ Potential issue | 🟠 Major
JCA_CLIURL resolution still over-couples instance behavior to globalargs.
Line 302-304always prefer module-levelargs.*_url, so plugin-created instances that pass a differenthostcan still resolve to unrelated global URLs. This also mutates globalargs(Line 292-300), creating cross-instance side effects.♻️ Proposed fix (instance-level normalization + explicit precedence)
- def __init__(self, host, client_id, client_secret, access_token, test_client=False, op_mode=None, wrapped=None): + def __init__(self, host, client_id, client_secret, access_token, test_client=False, op_mode=None, wrapped=None, + auth_url=None, config_url=None, scim_url=None): self.host = self.idp_host = host @@ - if args.auth_url and not args.auth_url.endswith('/'): - args.auth_url += '/' - - if args.config_url and not args.config_url.endswith('/'): - args.config_url += '/' - - if args.scim_url and not args.scim_url.endswith('/'): - args.scim_url += '/' - - # URLs - self.auth_url = args.auth_url or f'https://{self.idp_host}/jans-auth/' - self.config_url = args.config_url or f'https://{self.idp_host}/jans-config-api/' - self.scim_url = args.scim_url or f'https://{self.idp_host}/jans-scim/restv1/v2/' + def normalize_url(url): + return f"{url.rstrip('/')}/" if url else None + + # URLs (precedence: explicit param > CLI args > host-derived default) + self.auth_url = normalize_url(auth_url) or normalize_url(args.auth_url) or f'https://{self.idp_host}/jans-auth/' + self.config_url = normalize_url(config_url) or normalize_url(args.config_url) or f'https://{self.idp_host}/jans-config-api/' + self.scim_url = normalize_url(scim_url) or normalize_url(args.scim_url) or f'https://{self.idp_host}/jans-scim/restv1/v2/'🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@jans-cli-tui/cli_tui/cli/config_cli.py` around lines 292 - 304, The constructor currently mutates the global args and always prefers module-level args.*_url when resolving URLs, causing cross-instance coupling; change resolution to first check for an explicit instance parameter (e.g., a passed auth_url/config_url/scim_url or self.* attributes), normalize those local values (ensure trailing slash) without mutating the global args object, then fall back to constructing from self.idp_host, and only use args.*_url as the final fallback; update the code paths that set self.auth_url, self.config_url, and self.scim_url (and any pre-normalization that currently does args.auth_url += '/') to operate on local variables or self properties so global args is never mutated and instance-specific URLs take precedence.
516-787: 🧹 Nitpick | 🔵 TrivialExtract
'restv1/token'into a class constant to remove repeated literals.The same literal is repeated in four changed call sites, which SonarCloud is already flagging.
🧹 Proposed refactor
class JCA_CLI: + TOKEN_ENDPOINT = 'restv1/token' @@ - url = urljoin(self.auth_url, 'restv1/token') + url = urljoin(self.auth_url, self.TOKEN_ENDPOINT) @@ - url = urljoin(self.auth_url, 'restv1/token') + url = urljoin(self.auth_url, self.TOKEN_ENDPOINT) @@ - url=urljoin(self.auth_url, 'restv1/token'), + url=urljoin(self.auth_url, self.TOKEN_ENDPOINT), @@ - url=urljoin(self.auth_url, 'restv1/token'), + url=urljoin(self.auth_url, self.TOKEN_ENDPOINT),🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@jans-cli-tui/cli_tui/cli/config_cli.py` around lines 516 - 787, The literal 'restv1/token' is duplicated; define a class constant (e.g. TOKEN_ENDPOINT = 'restv1/token') on the CLI class in config_cli.py and replace all hard-coded occurrences with that constant (use urljoin(self.auth_url, self.TOKEN_ENDPOINT)). Update the call sites in the methods that post to the token endpoint: the connection check block (where session.post(...) uses urljoin(self.auth_url, 'restv1/token')), get_scoped_access_token, and get_jwt_access_token (both places that build token requests). Ensure you reference the constant as self.TOKEN_ENDPOINT so existing urljoin usage continues to work.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@jans-cli-tui/cli_tui/cli/config_cli.py`:
- Around line 516-560: check_connection() currently validates against
self.auth_url but then calls get_openid_configuration(), which still builds
discovery using self.idp_host; update get_openid_configuration() to derive the
OpenID discovery URL from the configured auth base (self.auth_url) instead of
hardcoding https://{self.idp_host}, and ensure it preserves scheme, host, and
path components (use urljoin or equivalent) so custom --auth-url values are
honored; adjust any callers (e.g., check_connection) to pass/expect the
discovery URL from self.auth_url if needed and remove reliance on idp_host for
discovery resolution.
---
Duplicate comments:
In `@jans-cli-tui/cli_tui/cli/config_cli.py`:
- Around line 1043-1047: The debug log references url before it's defined,
causing a NameError; fix by resolving the endpoint URL before logging and then
reuse it for the delete call: call self.get_url_for_endpoint(url_path) and
assign it to a local variable (e.g., url) prior to self.cli_logger.debug, then
pass that url to session.delete (and keep get_request_header usage unchanged).
Update the code paths that call self.cli_logger.debug("Delete request: %s", url)
and session.delete(...) to use this same url variable, referencing the methods
self.get_url_for_endpoint and self.get_request_header to locate the change.
- Around line 292-304: The constructor currently mutates the global args and
always prefers module-level args.*_url when resolving URLs, causing
cross-instance coupling; change resolution to first check for an explicit
instance parameter (e.g., a passed auth_url/config_url/scim_url or self.*
attributes), normalize those local values (ensure trailing slash) without
mutating the global args object, then fall back to constructing from
self.idp_host, and only use args.*_url as the final fallback; update the code
paths that set self.auth_url, self.config_url, and self.scim_url (and any
pre-normalization that currently does args.auth_url += '/') to operate on local
variables or self properties so global args is never mutated and
instance-specific URLs take precedence.
- Around line 516-787: The literal 'restv1/token' is duplicated; define a class
constant (e.g. TOKEN_ENDPOINT = 'restv1/token') on the CLI class in
config_cli.py and replace all hard-coded occurrences with that constant (use
urljoin(self.auth_url, self.TOKEN_ENDPOINT)). Update the call sites in the
methods that post to the token endpoint: the connection check block (where
session.post(...) uses urljoin(self.auth_url, 'restv1/token')),
get_scoped_access_token, and get_jwt_access_token (both places that build token
requests). Ensure you reference the constant as self.TOKEN_ENDPOINT so existing
urljoin usage continues to work.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: fa9298c0-6cd9-454b-bd55-4e8c524ce653
📒 Files selected for processing (1)
jans-cli-tui/cli_tui/cli/config_cli.py
Signed-off-by: Mustafa Baser <mbaser@mail.com>
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@jans-cli-tui/cli_tui/cli/config_cli.py`:
- Around line 329-336: server_url currently returns None for unexpected
self.my_op_mode which defers failure; change server_url to raise a clear
exception (e.g., raise ValueError(f"Unsupported op_mode: {self.my_op_mode}"))
instead of returning None, and ensure the error message includes the bad mode;
also apply the same fail-fast change to the other occurrence of the op_mode
dispatch used by get_url_for_endpoint so callers get an immediate, descriptive
error rather than a None propagating.
- Around line 305-321: get_openid_configuration still builds the discovery URL
from idp_host, bypassing the normalized/custom auth URL set by
url_normalizations; update get_openid_configuration to use self.auth_url as the
base and construct the discovery URL with urljoin (e.g., urljoin(self.auth_url,
'.well-known/openid-configuration')) so that custom host/port/path for auth is
respected; ensure self.auth_url always ends with a slash (url_normalizations
already does this) before joining and update any hardcoded discovery references
to use the new joined URL.
- Around line 152-154: The CLI flags use only dashed names (--auth-url,
--config-url, --scim-url) but callers expect underscore aliases; update the
parser.add_argument calls that register these flags (the parser.add_argument
invocations for "--auth-url", "--config-url", and "--scim-url") to include
underscore aliases as well (e.g. add "--auth_url", "--config_url", "--scim_url")
so argparse accepts both forms and maps them to the same destination.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 52b103d6-d1cc-47a7-8231-8fc493a4a47d
📒 Files selected for processing (1)
jans-cli-tui/cli_tui/cli/config_cli.py
Signed-off-by: Mustafa Baser <mbaser@mail.com>
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
jans-cli-tui/cli_tui/cli/config_cli.py (1)
1070-1087:⚠️ Potential issue | 🔴 CriticalCritical: PATCH query param assignment leaks request internals and can expose bearer tokens.
patch_params['params'] = patch_paramsserializes the entire request dict into query parameters (includingheaders), which can leakAuthorizationvalues into URLs/logs and corrupt PATCH behavior.🐛 Proposed fix
def patch_requests(self, endpoint, url_param_dict, data): url = self.get_url_for_endpoint(endpoint.path.format(**url_param_dict)) security = self.get_scope_for_endpoint(endpoint) self.get_access_token(security) mime_type = self.get_mime_for_endpoint(endpoint) headers = self.get_request_header({'Accept': 'application/json', 'Content-Type': mime_type}) self.cli_logger.debug("Patch request: %s", url) patch_params = { 'url': url, 'headers': headers, 'verify': self.verify_ssl, 'cert': self.mtls_client_cert, } - if url_param_dict: - patch_params['params'] = patch_params + if url_param_dict: + url_param_name = self.get_url_param(endpoint.path) + query_params = {k: v for k, v in url_param_dict.items() if k != url_param_name} + if query_params: + patch_params['params'] = query_params🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@jans-cli-tui/cli_tui/cli/config_cli.py` around lines 1070 - 1087, The assignment patch_params['params'] = patch_params mistakenly injects the entire request dict (including headers/Authorization) into the query string; change it to assign only the intended query parameters (e.g. patch_params['params'] = url_param_dict or a dedicated query dict) and ensure you never place headers or the Authorization token into params; update the block around the patch_params variable in the function using url_param_dict (and verify that get_url_for_endpoint or the calling code supplies only safe query values).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@jans-cli-tui/cli_tui/cli/config_cli.py`:
- Around line 297-303: Move logger setup to run before any URL diagnostics: call
self.set_logging() (and ensure any handler/level configuration it performs)
before invoking self.url_normalizations(...) so those debug/info messages are
emitted; update both places where url_normalizations is called (the block with
auth_url_/config_url_/scim_url_ and the later occurrence around lines 323-326)
to invoke set_logging() first, then call url_normalizations(...), then proceed
to ssl_settings() as before.
---
Outside diff comments:
In `@jans-cli-tui/cli_tui/cli/config_cli.py`:
- Around line 1070-1087: The assignment patch_params['params'] = patch_params
mistakenly injects the entire request dict (including headers/Authorization)
into the query string; change it to assign only the intended query parameters
(e.g. patch_params['params'] = url_param_dict or a dedicated query dict) and
ensure you never place headers or the Authorization token into params; update
the block around the patch_params variable in the function using url_param_dict
(and verify that get_url_for_endpoint or the calling code supplies only safe
query values).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: c2354026-bd8f-4b89-832b-481f06b31791
📒 Files selected for processing (1)
jans-cli-tui/cli_tui/cli/config_cli.py
Signed-off-by: Mustafa Baser <mbaser@mail.com>
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
jans-cli-tui/cli_tui/cli/config_cli.py (2)
1086-1088:⚠️ Potential issue | 🔴 CriticalPATCH query params are assigned from the wrong object.
Line 1087 assigns
patch_params['params'] = patch_paramsinstead ofurl_param_dict. This can serialize transport metadata (url,headers,cert, etc.) into the query string and break PATCH requests.🔧 Proposed fix
- if url_param_dict: - patch_params['params'] = patch_params + if url_param_dict: + patch_params['params'] = url_param_dict🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@jans-cli-tui/cli_tui/cli/config_cli.py` around lines 1086 - 1088, The PATCH query params are being set from the wrong object: change the assignment that currently sets patch_params['params'] = patch_params to use the actual URL param dict (url_param_dict) so query params come from url_param_dict; locate the block where patch_params and url_param_dict are prepared (search for patch_params, url_param_dict in config_cli.py, e.g., inside the PATCH handling function) and replace the incorrect assignment with one that assigns the url_param_dict into patch_params['params'] (ensuring patch_params exists before assignment).
1041-1051:⚠️ Potential issue | 🟠 MajorDelete path-param cleanup is incorrect and can leak path values into query params.
At Line 1043,
url_paramsis a single string (e.g.,"inum"), but the loop iterates character-by-character. That means the actual path parameter key is not removed fromurl_param_dict, and it can be appended again in the query string at Line 1050.🔧 Proposed fix
- if url_params: - url_path = endpoint.path.format(**url_param_dict) - for param in url_params: - if param in url_param_dict: - del url_param_dict[param] + if url_params: + url_path = endpoint.path.format(**url_param_dict) + if url_params in url_param_dict: + del url_param_dict[url_params]🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@jans-cli-tui/cli_tui/cli/config_cli.py` around lines 1041 - 1051, The cleanup loop treats url_params as an iterable of characters when it's a string, so path param keys aren't removed from url_param_dict and get leaked into the query string; update the logic around url_params (used together with endpoint.path and url_param_dict) to normalize url_params to an iterable of parameter names (e.g., if isinstance(url_params, str) wrap it into a one-element list) and then iterate that normalized list to delete each param from url_param_dict before building the query string.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@jans-cli-tui/cli_tui/cli/config_cli.py`:
- Around line 1086-1088: The PATCH query params are being set from the wrong
object: change the assignment that currently sets patch_params['params'] =
patch_params to use the actual URL param dict (url_param_dict) so query params
come from url_param_dict; locate the block where patch_params and url_param_dict
are prepared (search for patch_params, url_param_dict in config_cli.py, e.g.,
inside the PATCH handling function) and replace the incorrect assignment with
one that assigns the url_param_dict into patch_params['params'] (ensuring
patch_params exists before assignment).
- Around line 1041-1051: The cleanup loop treats url_params as an iterable of
characters when it's a string, so path param keys aren't removed from
url_param_dict and get leaked into the query string; update the logic around
url_params (used together with endpoint.path and url_param_dict) to normalize
url_params to an iterable of parameter names (e.g., if isinstance(url_params,
str) wrap it into a one-element list) and then iterate that normalized list to
delete each param from url_param_dict before building the query string.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: a42b44d5-9204-436b-be9b-efb5e64596c0
📒 Files selected for processing (1)
jans-cli-tui/cli_tui/cli/config_cli.py
|
@coderabbitai jans/jans-cli-tui/cli_tui/cli/config_cli.py Line 337 in f2f9ef2 |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: Length of output: 1199
`@property`
def server_url(self):
if self.my_op_mode == 'jca':
return self.config_url
elif self.my_op_mode == 'scim':
return self.scim_url
elif self.my_op_mode == 'auth':
return self.auth_url
raise ValueError(f"Unsupported operation mode: {self.my_op_mode}")If you found this review helpful, would you consider giving us a shout-out on X? Thank you for using CodeRabbit! |
#13414) * feat(jans-cli-tui): add arguments --auth-url, --config-url, --scim-url Signed-off-by: Mustafa Baser <mbaser@mail.com> * fix(jans-cli-tui): copilot suggestion Signed-off-by: Mustafa Baser <mbaser@mail.com> * fix(jans-cli-tui): coderabbitai suggestions Signed-off-by: Mustafa Baser <mbaser@mail.com> * fix(jans-cli-tui): coderabbitai suggestions Signed-off-by: Mustafa Baser <mbaser@mail.com> * fix(jans-cli-tui): Initialize logging before emitting normalized URL Signed-off-by: Mustafa Baser <mbaser@mail.com> --------- Signed-off-by: Mustafa Baser <mbaser@mail.com>
…ipals (#13538) * refactor(authz): remove unused authorization methods and clean up code (#13416) - Removed the `authorize` method that accepted a `Request` type from the `Cedarling` implementation. - Cleaned up the `AuthorizeResult` struct by removing unnecessary fields and their associated serialization logic. - Deleted the `trust_mode.rs` file as it was no longer needed. - Updated imports and references across the codebase to reflect these changes. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * feat(jans-cedarling): Clean Up Configuration Modules for deprecated authz (#13427) * refactor(authz): simplify authorization configuration by removing unused fields - Removed `use_user_principal` and `use_workload_principal` fields from `AuthorizationConfig` and related structures. - Eliminated `IdTokenTrustMode` and its associated logic from the codebase. - Updated the `BootstrapConfig` and `EntityBuilderConfig` to reflect these changes, ensuring a cleaner and more maintainable code structure. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(authz): remove unused parameters from authorization methods - Eliminated `_workload_uid` and `_person_uid` parameters from the `new_for_many_principals` function in `AuthorizeResult`. - Updated the call to `new_for_many_principals` in the `Authz` implementation to reflect these changes, enhancing code clarity and maintainability. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(authz): clean up authorization entity building code - Removed the `build_entities` method from `EntityBuilder`, which was previously responsible for constructing various authorization entities. - Updated imports to reflect the removal of unused code, enhancing overall code clarity and maintainability. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(authz): streamline authorization configuration and remove unused fields - Removed unused fields related to user and workload principals from `AuthorizationConfig` and `EntityBuilderConfig`. - Simplified test configurations by utilizing default settings for authorization and entity building. - Cleaned up related test files to enhance clarity and maintainability. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(entity_builder): remove workload configuration from entity builder - Eliminated the `with_workload()` method call from `EntityBuilderConfig` across multiple entity builder files, simplifying the configuration process. - Updated tests to use default settings, enhancing clarity and maintainability. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> --------- Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * feat(jans-cedarling): Update All Language Bindings (Python, WASM, Go, UniFFI) (#13440) * refactor(authz): streamline authorization configuration by removing deprecated fields - Removed `decision_log_user_claims` and `decision_log_workload_claims` from `AuthorizationConfig` and related structures. - Updated `BootstrapConfig` and `EntityBuilder` to reflect these changes, enhancing code clarity and maintainability. - Cleaned up associated tests to ensure consistency with the new configuration structure. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(python_bindings): remove deprecated request handling and clean up authorization code - Eliminated the `Request` struct and its associated logic from the authorization module, streamlining the codebase. - Removed the `authorize` method from the `Cedarling` implementation that accepted a `Request` type. - Cleaned up the `AuthorizeResult` struct by removing unnecessary fields and their serialization logic. - Updated imports and references across the codebase to reflect these changes, enhancing clarity and maintainability. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(python_bindings): remove unused authorization methods and clean up code - Eliminated the `authorize` method from the `Cedarling` class, which accepted a `Request` type, to streamline the authorization process. - Removed the `IdTokenTrustModeError` class from the `authorize_errors` module, simplifying error handling. - Updated the `Request` class definition to remove unused fields, enhancing clarity and maintainability. - Cleaned up the `AuthorizeResult` struct by removing unnecessary methods, further refining the codebase. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(python_binding_tests): streamline authorization tests by removing unnecessary assertions - Removed assertions checking for `workload` and `person` being `None` in the `test_authorize_unsigned` and `test_authorize_unsigned_json_rule_by_uid` functions, as they are no longer relevant. - Updated the `test_logger` to utilize `RequestUnsigned` and simplified the logging configuration for better clarity and maintainability. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(wasm_bindings): transition to unsigned request handling in authorization - Updated the authorization process to utilize `REQUEST_UNSIGNED` instead of `REQUEST`, allowing for principals to be provided as entity data without JWT tokens. - Removed deprecated fields and methods related to standard authorization, streamlining the codebase. - Adjusted related tests to reflect the new unsigned request structure, enhancing clarity and maintainability. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * fix(wasm_bindings): add 'sub' field to principals in example data and tests - Introduced the 'sub' field in the principals of the REQUEST_UNSIGNED structure to ensure proper identification of users. - Updated test cases to include the 'sub' field for user principals, enhancing the accuracy of authorization tests. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(go_bindings): remove deprecated authorize method from G2RCall trait - Eliminated the `authorize` method from the `G2RCall` trait to streamline the authorization process. - Updated the implementation in `G2RCallImpl` to reflect this change, enhancing code clarity and maintainability. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(go_bindings): remove deprecated authorization methods and clean up request structures - Eliminated the `Authorize` method from the `Cedarling` class and the associated `Request` struct to streamline the authorization process. - Removed unnecessary fields from the `AuthorizeResult` struct, enhancing clarity and maintainability. - Updated related tests and configurations to reflect these changes, ensuring consistency across the codebase. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(cedarling_go): update README to reflect new authorization methods and configuration changes - Added `AuthorizeMultiIssuer()` to the features list for multi-issuer authorization support. - Updated example configuration by removing deprecated fields and clarifying the usage of `CEDARLING_ID_TOKEN_TRUST_MODE`. - Revised sections on authorization processes to reflect changes in method names and request structures, enhancing clarity for users. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(cedarling_uniffi): streamline error handling and clean up serialization logic - Refactored error handling in the `try_from` implementation for `DataEntry` to improve readability and maintainability. - Simplified serialization error messages for `data_type` and `value` fields. - Removed deprecated fields from the `AuthorizeResult` struct, enhancing clarity in the authorization response structure. - Cleaned up the `authorize_unsigned` method to ensure consistent error handling. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(cedarling_uniffi): update configuration files and clean up tests - Removed deprecated fields from `bootstrap.json` to streamline configuration. - Added a new `principals.json` file to define test principals for authorization. - Cleaned up the test suite by removing unused test cases, enhancing maintainability and clarity. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(cedarling_uniffi): update action and principals for authorization - Changed the action in configuration files from `Update` to `UpdateTestPrincipal` to reflect new testing requirements. - Introduced `principals.json` files for both Android and iOS to define test principals for authorization processes. - Updated the authorization logic in the Java and Swift implementations to utilize the new principals structure, enhancing the flexibility of authorization handling. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(cedarling_uniffi): update README to clarify authorization methods and configuration - Revised the description of the Cedarling initialization process to specify the use of `authorizeUnsigned` with sample principals. - Introduced new authorization methods: `authorizeUnsigned` and `authorizeMultiIssuer`, detailing their usage and input requirements. - Removed the deprecated `CEDARLING_ID_TOKEN_TRUST_MODE` section and updated the configuration example for clarity. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(cedarling_java): remove deprecated authorization fields and update tests - Eliminated deprecated fields from `bootstrap.json` to streamline configuration. - Refactored the `authorize` method in `CedarlingAdapter` to use `authorizeUnsigned`, enhancing clarity in authorization handling. - Updated test cases in `CedarlingAdapterTest` to reflect changes in authorization logic and ensure consistency across tests. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(cedarling_java): remove ID Token Trust Mode section from README Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> --------- Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * chore(deps): bump mkdocs-material from 9.7.3 to 9.7.4 in /docs (#13409) Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.7.3 to 9.7.4. - [Release notes](https://github.com/squidfunk/mkdocs-material/releases) - [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG) - [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.7.3...9.7.4) --- updated-dependencies: - dependency-name: mkdocs-material dependency-version: 9.7.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat(jans-fido2): add dropOffRate and completionRate to metrics error… (#13360) * feat(jans-fido2): add dropOffRate and completionRate to metrics errors analytics endpoint Signed-off-by: imran <imranishaq7071@gmail.com> * feat(jans-fido2): add dropOffRate and completionRate to metrics errors analytics endpoint 1 Signed-off-by: imran <imranishaq7071@gmail.com> * feat(jans-fido2): add dropOffRate and completionRate to metrics errors analytics endpoint 2 Signed-off-by: imran <imranishaq7071@gmail.com> * feat(jans-fido2): add dropOffRate and completionRate to metrics errors analytics endpoint 3 Signed-off-by: imran <imranishaq7071@gmail.com> * feat(jans-fido2): add dropOffRate and completionRate to metrics errors analytics endpoint 4 Signed-off-by: imran <imranishaq7071@gmail.com> --------- Signed-off-by: imran <imranishaq7071@gmail.com> Co-authored-by: YuriyM <Yuriy.Movchan@gmail.com> * feat (jans-cedarling): Load trusted issuers on startup on the background (#13125) * fix(docker-jans-all-in-one): resolve path to healthcheck endpoint when running monitor script (#13385) * feat(jans-cli-tui): add arguments --auth-url, --config-url, --scim-url (#13414) * feat(jans-cli-tui): add arguments --auth-url, --config-url, --scim-url Signed-off-by: Mustafa Baser <mbaser@mail.com> * fix(jans-cli-tui): copilot suggestion Signed-off-by: Mustafa Baser <mbaser@mail.com> * fix(jans-cli-tui): coderabbitai suggestions Signed-off-by: Mustafa Baser <mbaser@mail.com> * fix(jans-cli-tui): coderabbitai suggestions Signed-off-by: Mustafa Baser <mbaser@mail.com> * fix(jans-cli-tui): Initialize logging before emitting normalized URL Signed-off-by: Mustafa Baser <mbaser@mail.com> --------- Signed-off-by: Mustafa Baser <mbaser@mail.com> * chore(deps): bump cargo-bins/cargo-binstall from 1.17.4 to 1.17.6 (#13391) Bumps [cargo-bins/cargo-binstall](https://github.com/cargo-bins/cargo-binstall) from 1.17.4 to 1.17.6. - [Release notes](https://github.com/cargo-bins/cargo-binstall/releases) - [Changelog](https://github.com/cargo-bins/cargo-binstall/blob/main/release-plz.toml) - [Commits](https://github.com/cargo-bins/cargo-binstall/compare/ec80feb9e330418e014932e5982599255eff6dbb...bc432b49369a3f25c8c8b19578a82060c18a5dd6) --- updated-dependencies: - dependency-name: cargo-bins/cargo-binstall dependency-version: 1.17.6 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * chore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.0 (#13372) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6.0.0 to 7.0.0. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/b7c566a772e6b6bfb58ed0dc250532a479d7789f...bbbca2ddaa5d8feaa63e36b76fdaad77386f024f) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump PyO3/maturin-action from 1.50.0 to 1.50.1 (#13389) Bumps [PyO3/maturin-action](https://github.com/pyo3/maturin-action) from 1.50.0 to 1.50.1. - [Release notes](https://github.com/pyo3/maturin-action/releases) - [Commits](https://github.com/pyo3/maturin-action/compare/b1bd829e37fef14c63f19162034228a2f3dc1021...04ac600d27cdf7a9a280dadf7147097c42b757ad) --- updated-dependencies: - dependency-name: PyO3/maturin-action dependency-version: 1.50.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github/codeql-action from 4.32.4 to 4.32.5 (#13390) Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.32.4 to 4.32.5. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/89a39a4e59826350b863aa6b6252a07ad50cf83e...c793b717bc78562f491db7b0e93a3a178b099162) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 4.32.5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * feat(jans-auth-server): harden allowed schemes for redirects #13423 (#13429) * feat(jans-auth-server): harden allowed schemes for redirects #13423 Signed-off-by: YuriyZ <yzabrovarniy@gmail.com> Signed-off-by: yuriyz <yzabrovarniy@gmail.com> * Fixes Signed-off-by: YuriyZ <yzabrovarniy@gmail.com> Signed-off-by: yuriyz <yzabrovarniy@gmail.com> --------- Signed-off-by: yuriyz <yzabrovarniy@gmail.com> * feat(jans-cedarling): Implement disabling file checksum validation using configuration (#13424) * feat(policy_store): add SHA-1 checksum support and validation - Updated `load_policy_store_directory` and related functions to accept a `validate_checksum` parameter for manifest validation. - Enhanced `ManifestValidator` to support SHA-1 checksums alongside SHA-256. - Modified error messages to reflect the new checksum format. - Updated tests to cover SHA-1 checksum computation and validation. This change improves the integrity verification of policy store files by allowing both SHA-1 and SHA-256 checksums. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * feat(policy_store): add validate_checksum option for policy store configuration - Introduced `validate_checksum` field in `PolicyStoreConfig` to control checksum validation when loading policy stores from directories or archives. - Updated `BootstrapConfig` and `PolicyStoreConfigRaw` to support the new field, with a default value of `true`. - Enhanced the decoding logic to utilize the `validate_checksum` parameter for policy store configurations. This change improves flexibility in policy store loading by allowing users to disable checksum validation if needed. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * feat(policy_store): enable checksum validation in policy store configurations - Added `validate_checksum` option to `PolicyStoreConfig` in multiple benchmark files to enhance policy store integrity checks. - Updated relevant configurations in `authz_authorize_benchmark.rs`, `authz_authorize_multi_issuer_benchmark.rs`, `context_data_store_benchmark.rs`, and `startup_benchmark.rs`. This change ensures that checksum validation can be consistently applied across different benchmarks, improving the reliability of policy store loading. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * feat(policy_store): enable checksum validation in additional examples - Added `validate_checksum` option to `PolicyStoreConfig` in various example files, including `authorize_unsigned.rs`, `authorize_with_jwt_validation.rs`, `authorize_without_jwt_validation.rs`, `bulk_authorization_benchmark.rs`, `lock_integration.rs`, `log_init.rs`, and `profiling.rs`. - This enhancement ensures consistent checksum validation across different examples, improving the integrity checks for policy store configurations. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * feat(policy_store): enable checksum validation in policy store tests - Updated `load_policy_store_archive_bytes` calls in test files to include the `validate_checksum` parameter. - Modified `PolicyStoreConfig` in various test configurations to ensure consistent checksum validation across tests. This change enhances the integrity checks for policy store loading in the test suite. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(tests): Updated the `validate_file` method call in the tests to use `expect` for clearer error handling. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(config): format `policy_store_validate_checksum` field for improved readability and use `is_some` Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * feat(policy_store): refactor checksum computation into a method Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * fix(jans-cedarling): fix loading default supported algorithms Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * chore(jans-cedarling): add check if supported algorisms list is not empty Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * chore(jans-cedarling): set default true for `CEDARLING_POLICY_STORE_VALIDATE_CHECKSUM` parameter Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * chore(jans-cedarling): remove word duplication Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * chore(jans-cedarling): fix clippy issue Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> --------- Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> Co-authored-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * feat(cloud-native): add subchart for Gateway API conformant implementation (#13415) * feat(cloud-native): add subchart for Gateway API conformant implementation Signed-off-by: iromli <isman.firmansyah@gmail.com> * fix: resolve incorrect route labels and annotations Signed-off-by: iromli <isman.firmansyah@gmail.com> * fix: grpc endpoints support for airlock-microgateway Signed-off-by: iromli <isman.firmansyah@gmail.com> * refactor: explicit h2c protocol Signed-off-by: iromli <isman.firmansyah@gmail.com> * docs: change WARNING message about legacy gatewayApi values Signed-off-by: iromli <isman.firmansyah@gmail.com> * refactor: use gateway-api instead of gatewayApi Signed-off-by: iromli <isman.firmansyah@gmail.com> * docs(cloud-native): conform to changes in gateway-api configuration Signed-off-by: iromli <isman.firmansyah@gmail.com> * ci(cloud-native): change reference of Gateway API configuration Signed-off-by: iromli <isman.firmansyah@gmail.com> * ci: attach global.lbIp to the gateway if using NodePort service Signed-off-by: iromli <isman.firmansyah@gmail.com> * fix: guard the optional legacy flag lookup Signed-off-by: iromli <isman.firmansyah@gmail.com> * chore: fix minimum requirement for gateway-api subchart Signed-off-by: iromli <isman.firmansyah@gmail.com> * docs: update subchart docs Signed-off-by: iromli <isman.firmansyah@gmail.com> * docs: add migration for attribute changes Signed-off-by: iromli <isman.firmansyah@gmail.com> * docs: fix link to subchart source code Signed-off-by: iromli <isman.firmansyah@gmail.com> --------- Signed-off-by: iromli <isman.firmansyah@gmail.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * fix(jans-auth-server): harden jwe nested jwt verification #13437 (#13438) * fix(jans-auth-server): harden jwe nested jwt verification #13437 Signed-off-by: YuriyZ <yzabrovarniy@gmail.com> Signed-off-by: yuriyz <yzabrovarniy@gmail.com> * fixes Signed-off-by: YuriyZ <yzabrovarniy@gmail.com> Signed-off-by: yuriyz <yzabrovarniy@gmail.com> * minor Signed-off-by: YuriyZ <yzabrovarniy@gmail.com> Signed-off-by: yuriyz <yzabrovarniy@gmail.com> --------- Signed-off-by: YuriyZ <yzabrovarniy@gmail.com> Signed-off-by: yuriyz <yzabrovarniy@gmail.com> * chore(deps): bump step-security/harden-runner from 2.15.0 to 2.15.1 (#13430) Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.15.0 to 2.15.1. - [Release notes](https://github.com/step-security/harden-runner/releases) - [Commits](https://github.com/step-security/harden-runner/compare/a90bcbc6539c36a85cdfeb73f7e2f433735f215b...58077d3c7e43986b6b15fba718e8ea69e387dfcc) --- updated-dependencies: - dependency-name: step-security/harden-runner dependency-version: 2.15.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(jans-cli-tui): catch exceptions while getting smtp configuration (#13439) * fix(jans-cli-tui): catch exceptions while getting smtp configuration Signed-off-by: Mustafa Baser <mbaser@mail.com> * fix(jans-cli-tui): coderabbitai suggestions Signed-off-by: Mustafa Baser <mbaser@mail.com> * fix(jans-cli-tui): typo Signed-off-by: Mustafa Baser <mbaser@mail.com> --------- Signed-off-by: Mustafa Baser <mbaser@mail.com> Co-authored-by: YuriyZ <yzabrovarniy@gmail.com> * chore(deps): bump cargo-bins/cargo-binstall from 1.17.6 to 1.17.7 (#13442) Bumps [cargo-bins/cargo-binstall](https://github.com/cargo-bins/cargo-binstall) from 1.17.6 to 1.17.7. - [Release notes](https://github.com/cargo-bins/cargo-binstall/releases) - [Changelog](https://github.com/cargo-bins/cargo-binstall/blob/main/release-plz.toml) - [Commits](https://github.com/cargo-bins/cargo-binstall/compare/bc432b49369a3f25c8c8b19578a82060c18a5dd6...1800853f2578f8c34492ec76154caef8e163fbca) --- updated-dependencies: - dependency-name: cargo-bins/cargo-binstall dependency-version: 1.17.7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * ci: improves token permission score (#13445) Signed-off-by: moabu <47318409+moabu@users.noreply.github.com> * chore(deps): bump docker/setup-buildx-action from 3.12.0 to 4.0.0 (#13420) Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.12.0 to 4.0.0. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/8d2750c68a42422c14e847fe6c8ac0403b4cbd6f...4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump docker/login-action from 3.7.0 to 4.0.0 (#13419) Bumps [docker/login-action](https://github.com/docker/login-action) from 3.7.0 to 4.0.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/c94ce9fb468520275223c153574b00df6fe4bcc9...b45d80f862d83dbcd57f89517bcf500b2ab88fb2) --- updated-dependencies: - dependency-name: docker/login-action dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * chore(deps): bump actions/dependency-review-action from 4.8.3 to 4.9.0 (#13418) Bumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 4.8.3 to 4.9.0. - [Release notes](https://github.com/actions/dependency-review-action/releases) - [Commits](https://github.com/actions/dependency-review-action/compare/05fe4576374b728f0c523d6a13d64c25081e0803...2031cfc080254a8a887f58cffee85186f0e49e48) --- updated-dependencies: - dependency-name: actions/dependency-review-action dependency-version: 4.9.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * feat(jans-auth-server): support X-Forwarded-Client-Cert header #13444 (#13446) * feat(jans-auth-server): support X-Forwarded-Client-Cert header #13444 Signed-off-by: YuriyZ <yzabrovarniy@gmail.com> Signed-off-by: yuriyz <yzabrovarniy@gmail.com> * added explicit test scope for mockito Signed-off-by: YuriyZ <yzabrovarniy@gmail.com> Signed-off-by: yuriyz <yzabrovarniy@gmail.com> * improved docs Signed-off-by: YuriyZ <yzabrovarniy@gmail.com> Signed-off-by: yuriyz <yzabrovarniy@gmail.com> * fixed bug if xfcc cert has blank value Signed-off-by: YuriyZ <yzabrovarniy@gmail.com> Signed-off-by: yuriyz <yzabrovarniy@gmail.com> * improved docs Signed-off-by: YuriyZ <yzabrovarniy@gmail.com> Signed-off-by: yuriyz <yzabrovarniy@gmail.com> --------- Signed-off-by: yuriyz <yzabrovarniy@gmail.com> * chore(deps-dev): bump org.apache.maven.plugins:maven-dependency-plugin from 3.8.1 to 3.10.0 in /jans-casa (#13288) chore(deps-dev): bump org.apache.maven.plugins:maven-dependency-plugin Bumps [org.apache.maven.plugins:maven-dependency-plugin](https://github.com/apache/maven-dependency-plugin) from 3.8.1 to 3.10.0. - [Release notes](https://github.com/apache/maven-dependency-plugin/releases) - [Commits](https://github.com/apache/maven-dependency-plugin/compare/maven-dependency-plugin-3.8.1...maven-dependency-plugin-3.10.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-dependency-plugin dependency-version: 3.10.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * chore(deps): bump org.apache.maven.plugins:maven-assembly-plugin from 3.1.0 to 3.8.0 in /jans-casa (#13318) chore(deps): bump org.apache.maven.plugins:maven-assembly-plugin Bumps [org.apache.maven.plugins:maven-assembly-plugin](https://github.com/apache/maven-assembly-plugin) from 3.1.0 to 3.8.0. - [Release notes](https://github.com/apache/maven-assembly-plugin/releases) - [Commits](https://github.com/apache/maven-assembly-plugin/compare/maven-assembly-plugin-3.1.0...v3.8.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-assembly-plugin dependency-version: 3.8.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * chore(deps-dev): bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.4 to 3.5.5 in /agama (#13328) chore(deps-dev): bump org.apache.maven.plugins:maven-surefire-plugin Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.5.4 to 3.5.5. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.4...surefire-3.5.5) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-version: 3.5.5 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * chore(deps): bump org.apache.maven.plugins:maven-war-plugin from 3.4.0 to 3.5.1 in /jans-casa (#13290) chore(deps): bump org.apache.maven.plugins:maven-war-plugin Bumps [org.apache.maven.plugins:maven-war-plugin](https://github.com/apache/maven-war-plugin) from 3.4.0 to 3.5.1. - [Release notes](https://github.com/apache/maven-war-plugin/releases) - [Commits](https://github.com/apache/maven-war-plugin/compare/maven-war-plugin-3.4.0...maven-war-plugin-3.5.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-war-plugin dependency-version: 3.5.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * chore(deps): bump crazy-max/ghaction-import-gpg from 6.1.0 to 7.0.0 (#13453) Bumps [crazy-max/ghaction-import-gpg](https://github.com/crazy-max/ghaction-import-gpg) from 6.1.0 to 7.0.0. - [Release notes](https://github.com/crazy-max/ghaction-import-gpg/releases) - [Commits](https://github.com/crazy-max/ghaction-import-gpg/compare/01dd5d3ca463c7f10f7f4f7b4f177225ac661ee4...2dc316deee8e90f13e1a351ab510b4d5bc0c82cd) --- updated-dependencies: - dependency-name: crazy-max/ghaction-import-gpg dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump sigstore/cosign-installer from 4.0.0 to 4.1.0 (#13452) Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 4.0.0 to 4.1.0. - [Release notes](https://github.com/sigstore/cosign-installer/releases) - [Commits](https://github.com/sigstore/cosign-installer/compare/faadad0cce49287aee09b3a48701e75088a2c6ad...ba7bc0a3fef59531c69a25acd34668d6d3fe6f22) --- updated-dependencies: - dependency-name: sigstore/cosign-installer dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * chore(deps): bump github.com/hashicorp/terraform-plugin-sdk/v2 from 2.39.0 to 2.40.0 in /terraform-provider-jans (#13451) chore(deps): bump github.com/hashicorp/terraform-plugin-sdk/v2 Bumps [github.com/hashicorp/terraform-plugin-sdk/v2](https://github.com/hashicorp/terraform-plugin-sdk) from 2.39.0 to 2.40.0. - [Release notes](https://github.com/hashicorp/terraform-plugin-sdk/releases) - [Changelog](https://github.com/hashicorp/terraform-plugin-sdk/blob/main/CHANGELOG.md) - [Commits](https://github.com/hashicorp/terraform-plugin-sdk/compare/v2.39.0...v2.40.0) --- updated-dependencies: - dependency-name: github.com/hashicorp/terraform-plugin-sdk/v2 dependency-version: 2.40.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * chore(deps): bump actions/setup-node from 6.2.0 to 6.3.0 (#13450) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.2.0 to 6.3.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/6044e13b5dc448c55e2357c09f80417699197238...53b83947a5a98c8d113130e565377fae1a50d02f) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: 6.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * chore(deps): bump github/codeql-action from 4.32.5 to 4.32.6 (#13449) Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.32.5 to 4.32.6. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/c793b717bc78562f491db7b0e93a3a178b099162...0d579ffd059c29b07949a3cce3983f0780820c98) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 4.32.6 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * chore(deps): bump certifi from 2026.1.4 to 2026.2.25 in /docs (#13421) Bumps [certifi](https://github.com/certifi/python-certifi) from 2026.1.4 to 2026.2.25. - [Commits](https://github.com/certifi/python-certifi/compare/2026.01.04...2026.02.25) --- updated-dependencies: - dependency-name: certifi dependency-version: 2026.2.25 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * ci: improves openssf vuln score (#13458) * ci: improves openssf vuln score Signed-off-by: moabu <47318409+moabu@users.noreply.github.com> * fix: restrict cryptography version to <47.0.0 Signed-off-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * fix: cryptography version constraint Signed-off-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> --------- Signed-off-by: moabu <47318409+moabu@users.noreply.github.com> Signed-off-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * chore(deps-dev): bump @types/node from 24.12.0 to 25.4.0 in /demos/janssen-tarp/mcp-server (#13443) chore(deps-dev): bump @types/node in /demos/janssen-tarp/mcp-server Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 24.12.0 to 25.4.0. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 25.4.0 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Arnab Dutta <arnab.bdutta@gmail.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * chore(deps): bump uuid from 9.0.1 to 13.0.0 in /demos/janssen-tarp/browser-extension (#13396) chore(deps): bump uuid in /demos/janssen-tarp/browser-extension Bumps [uuid](https://github.com/uuidjs/uuid) from 9.0.1 to 13.0.0. - [Release notes](https://github.com/uuidjs/uuid/releases) - [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md) - [Commits](https://github.com/uuidjs/uuid/compare/v9.0.1...v13.0.0) --- updated-dependencies: - dependency-name: uuid dependency-version: 13.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Arnab Dutta <arnab.bdutta@gmail.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * chore(deps-dev): bump style-loader from 3.3.4 to 4.0.0 in /demos/janssen-tarp/browser-extension (#13395) chore(deps-dev): bump style-loader Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 3.3.4 to 4.0.0. - [Release notes](https://github.com/webpack-contrib/style-loader/releases) - [Changelog](https://github.com/webpack/style-loader/blob/main/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/style-loader/compare/v3.3.4...v4.0.0) --- updated-dependencies: - dependency-name: style-loader dependency-version: 4.0.0 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Arnab Dutta <arnab.bdutta@gmail.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * chore(deps): bump react-dropzone from 14.4.1 to 15.0.0 in /demos/janssen-tarp/browser-extension (#13394) chore(deps): bump react-dropzone Bumps [react-dropzone](https://github.com/react-dropzone/react-dropzone) from 14.4.1 to 15.0.0. - [Release notes](https://github.com/react-dropzone/react-dropzone/releases) - [Commits](https://github.com/react-dropzone/react-dropzone/compare/v14.4.1...v15.0.0) --- updated-dependencies: - dependency-name: react-dropzone dependency-version: 15.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Arnab Dutta <arnab.bdutta@gmail.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * chore(deps-dev): bump webpack-merge from 5.10.0 to 6.0.1 in /demos/janssen-tarp/browser-extension (#13393) chore(deps-dev): bump webpack-merge Bumps [webpack-merge](https://github.com/survivejs/webpack-merge) from 5.10.0 to 6.0.1. - [Changelog](https://github.com/survivejs/webpack-merge/blob/develop/CHANGELOG.md) - [Commits](https://github.com/survivejs/webpack-merge/compare/v5.10.0...v6.0.1) --- updated-dependencies: - dependency-name: webpack-merge dependency-version: 6.0.1 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Arnab Dutta <arnab.bdutta@gmail.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * chore(deps-dev): bump org.apache.maven.plugins:maven-jar-plugin from 3.3.0 to 3.5.0 in /jans-fido2 (#13378) chore(deps-dev): bump org.apache.maven.plugins:maven-jar-plugin Bumps [org.apache.maven.plugins:maven-jar-plugin](https://github.com/apache/maven-jar-plugin) from 3.3.0 to 3.5.0. - [Release notes](https://github.com/apache/maven-jar-plugin/releases) - [Commits](https://github.com/apache/maven-jar-plugin/compare/maven-jar-plugin-3.3.0...maven-jar-plugin-3.5.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-jar-plugin dependency-version: 3.5.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: YuriyM <Yuriy.Movchan@gmail.com> * chore(deps-dev): bump org.apache.maven.plugins:maven-clean-plugin from 3.2.0 to 3.5.0 in /jans-fido2 (#13376) chore(deps-dev): bump org.apache.maven.plugins:maven-clean-plugin Bumps [org.apache.maven.plugins:maven-clean-plugin](https://github.com/apache/maven-clean-plugin) from 3.2.0 to 3.5.0. - [Release notes](https://github.com/apache/maven-clean-plugin/releases) - [Commits](https://github.com/apache/maven-clean-plugin/compare/maven-clean-plugin-3.2.0...maven-clean-plugin-3.5.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-clean-plugin dependency-version: 3.5.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: YuriyM <Yuriy.Movchan@gmail.com> * chore(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.0.0 to 3.5.5 in /jans-fido2 (#13375) chore(deps): bump org.apache.maven.plugins:maven-surefire-plugin Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.0.0 to 3.5.5. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.0.0...surefire-3.5.5) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-version: 3.5.5 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: YuriyM <Yuriy.Movchan@gmail.com> Co-authored-by: Yuriy M. <95305560+yuremm@users.noreply.github.com> * chore(deps): bump org.codehaus.mojo:buildnumber-maven-plugin from 3.0.0 to 3.3.0 in /jans-fido2 (#13374) chore(deps): bump org.codehaus.mojo:buildnumber-maven-plugin Bumps [org.codehaus.mojo:buildnumber-maven-plugin](https://github.com/mojohaus/buildnumber-maven-plugin) from 3.0.0 to 3.3.0. - [Release notes](https://github.com/mojohaus/buildnumber-maven-plugin/releases) - [Commits](https://github.com/mojohaus/buildnumber-maven-plugin/compare/buildnumber-maven-plugin-3.0.0...buildnumber-maven-plugin-3.3.0) --- updated-dependencies: - dependency-name: org.codehaus.mojo:buildnumber-maven-plugin dependency-version: 3.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: YuriyM <Yuriy.Movchan@gmail.com> * chore(deps): bump org.apache.maven.plugins:maven-javadoc-plugin from 3.8.0 to 3.12.0 in /jans-fido2 (#13377) chore(deps): bump org.apache.maven.plugins:maven-javadoc-plugin Bumps [org.apache.maven.plugins:maven-javadoc-plugin](https://github.com/apache/maven-javadoc-plugin) from 3.8.0 to 3.12.0. - [Release notes](https://github.com/apache/maven-javadoc-plugin/releases) - [Commits](https://github.com/apache/maven-javadoc-plugin/compare/maven-javadoc-plugin-3.8.0...maven-javadoc-plugin-3.12.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-javadoc-plugin dependency-version: 3.12.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: YuriyM <Yuriy.Movchan@gmail.com> Co-authored-by: Yuriy M. <95305560+yuremm@users.noreply.github.com> * feat(jans-cedarling) add OPA plugin (#13406) * feat(jans-cedarling): initialize opa plugin rebased Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com> * chore: use json config file Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com> * docs: add readme Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com> * chore: address reviews Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com> * chore: address more comments Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com> * chore: address comments Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com> * chore: address comment Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com> * chore: address another comment Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com> * chore: address review Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com> --------- Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * feat(jans-cedarling): use multi-issuer-authz on sidecar (#13463) * feat(jans-cedarling): switch to multi issuer authz Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com> * docs: update openapi Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com> * docs(jans-cedarling): update readme and dockerfile Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com> * chore: address reviews Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com> * docs: update openapi Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com> --------- Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * fix: add op logout and github widgets for stars and watches (#13466) * fix: add op logout and github widgets for stars and watches Signed-off-by: moabu <47318409+moabu@users.noreply.github.com> * fix: address comments Signed-off-by: moabu <47318409+moabu@users.noreply.github.com> --------- Signed-off-by: moabu <47318409+moabu@users.noreply.github.com> * chore(jans-auth-server): removed old deprecated code before 2.x release #13084 (#13410) * chore(jans-auth-server): remove /revoke_session endpoint (in favor of Global Token Revocation) https://github.com/JanssenProject/jans/issues/13084 Signed-off-by: YuriyZ <yzabrovarniy@gmail.com> Signed-off-by: yuriyz <yzabrovarniy@gmail.com> * cache: removed redundant cache methods that use region Signed-off-by: YuriyZ <yzabrovarniy@gmail.com> Signed-off-by: yuriyz <yzabrovarniy@gmail.com> --------- Signed-off-by: yuriyz <yzabrovarniy@gmail.com> * ci: sign helm packages (#13468) * ci: sign helm packages Signed-off-by: moabu <47318409+moabu@users.noreply.github.com> * style: remove comment Signed-off-by: moabu <47318409+moabu@users.noreply.github.com> * ci: revert ghaction import version Signed-off-by: moabu <47318409+moabu@users.noreply.github.com> * ci: merge signing step Signed-off-by: moabu <47318409+moabu@users.noreply.github.com> --------- Signed-off-by: moabu <47318409+moabu@users.noreply.github.com> * chore(deps): bump commons-io:commons-io from 2.19.0 to 2.21.0 in /jans-casa (#13456) chore(deps): bump commons-io:commons-io in /jans-casa Bumps [commons-io:commons-io](https://github.com/apache/commons-io) from 2.19.0 to 2.21.0. - [Changelog](https://github.com/apache/commons-io/blob/master/RELEASE-NOTES.txt) - [Commits](https://github.com/apache/commons-io/compare/rel/commons-io-2.19.0...rel/commons-io-2.21.0) --- updated-dependencies: - dependency-name: commons-io:commons-io dependency-version: 2.21.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * chore(cloud-native): upgrade cryptography library in OCI images (#13488) * chore(cloud-native): upgrade cryptography library in OCI images Signed-off-by: iromli <isman.firmansyah@gmail.com> * chore: target specific JANS_SOURCE_VERSION that introduces cryptography upgrade Signed-off-by: iromli <isman.firmansyah@gmail.com> * fix: disable unsupported command until we have proper SAML component Signed-off-by: iromli <isman.firmansyah@gmail.com> * fix: avoid silent success path of calling kc-sync command Signed-off-by: iromli <isman.firmansyah@gmail.com> --------- Signed-off-by: iromli <isman.firmansyah@gmail.com> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> * chore: casa flow code refactoring (#13494) * fix: compilation error #13447 Signed-off-by: jgomer2001 <bonustrack310@gmail.com> * chore: oidc code flow refactoring #13447 Signed-off-by: jgomer2001 <bonustrack310@gmail.com> * fix: compilation error #13447 Signed-off-by: jgomer2001 <bonustrack310@gmail.com> --------- Signed-off-by: jgomer2001 <bonustrack310@gmail.com> * chore(jans-cedarling): remove wrong import Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * feat(jans-cedarling): Update Tests, Examples, and Benchmarks After Core Changes (#13464) * refactor(tests): remove deprecated test files and streamline test configurations - Deleted several obsolete test files including `authorize_resource_entity.rs`, `cases_authorize_different_principals.rs`, `cases_authorize_namespace_jans2.rs`, `cases_authorize_without_check_jwt.rs`, and `schema_type_mapping.rs` to clean up the test suite. - Updated `authorize_multi_issuer.rs` to remove unnecessary parameters in callback functions. - Adjusted `mod.rs` to reflect the removal of deleted test modules, enhancing clarity and maintainability of the test structure. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(benches): streamline authorization benchmarks and remove deprecated fields - Updated `authz_authorize_benchmark.rs` to utilize `RequestUnsigned` and renamed the benchmark function for clarity. - Simplified `prepare_cedarling` function by removing unused parameters and deprecated fields in `AuthorizationConfig`. - Adjusted `authz_authorize_multi_issuer_benchmark.rs` and `context_data_store_benchmark.rs` to remove unnecessary fields related to user and workload principals. - Cleaned up `startup_benchmark.rs` by eliminating deprecated fields from `BootstrapConfig` and `EntityBuilderConfig`. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(examples): streamline authorization configurations and remove deprecated files - Updated `authorize_unsigned.rs`, `bulk_authorization_benchmark.rs`, `lock_integration.rs`, `log_init.rs`, and `profiling.rs` to utilize default settings for `AuthorizationConfig` and `EntityBuilderConfig`, removing unnecessary fields. - Deleted obsolete files `authorize_with_jwt_validation.rs` and `authorize_without_jwt_validation.rs` to clean up the examples directory. - Adjusted imports and function calls to reflect the removal of deprecated fields, enhancing code clarity and maintainability. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(authz): remove built_entities method and related documentation - Eliminated the `built_entities` method from the `AuthorizeEntitiesData` implementation, streamlining the authorization logic. - Removed associated documentation comments to enhance code clarity and maintainability. - Adjusted imports to reflect the removal of the unused method. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(entity_builder): remove deprecated entity building files and streamline imports - Deleted obsolete files related to role and token entity building, including `build_role_entity.rs` and `build_token_entities.rs`, to clean up the entity builder module. - Refactored imports in `build_multi_issuer_entity.rs` and `build_principal_entity.rs` to remove unused dependencies and enhance code clarity. - Removed legacy user and workload entity building logic from `build_principal_entity.rs`, aligning with the current authorization paths. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(jwt): simplify token handling and remove deprecated methods - Removed unused fields and methods from the `JwtService` and `Token` structures, including `signed_authz_available` and `jwt_sig_validation_required`. - Streamlined the `validate_tokens` method by eliminating unnecessary logic and comments, focusing on single token validation. - Updated imports to reflect the removal of deprecated items, enhancing code clarity and maintainability. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(config): remove deprecated authorization fields from configuration files and examples - Eliminated `CEDARLING_USER_AUTHZ`, `CEDARLING_WORKLOAD_AUTHZ`, and `CEDARLING_ID_TOKEN_TRUST_MODE` from various configuration files including JSON and YAML examples. - Streamlined the `bootstrap_props` and `docker-compose-env` configurations to enhance clarity and maintainability. - Updated test configurations to reflect the removal of deprecated fields, ensuring consistency across the codebase. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(tests): remove obsolete policy store files and update configurations - Deleted multiple deprecated policy store files including `agama-store_2.yaml`, `policy-store_entity_mapping.yaml`, and others to clean up the test suite. - Updated `bootstrap_props.json` and `bootstrap_props.yaml` to reference the new policy store file `policy-store_ok.yaml`. - Removed unused files related to local JWKS and policy store locks, enhancing clarity and maintainability of the test configurations. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * chore(jans-cedarling): remove claim mappings Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * chore(jans-cedarling): remove role mapping Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * chore(jans-cedarling): remove user_id Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * chore(jans-cedarling): remove get_token_metadata Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * chore(jans-cedarling): add fix build app after merging Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * chore(jans-cedarling): clean up unused imports and redundant code and fix failing tests - Removed unused imports from `lib.rs` and `mod.rs`. - Eliminated unnecessary `continue` statements in `build_entity_attrs.rs`. - Cleaned up commented-out test code in `mod.rs`. - Streamlined imports in `token.rs` for clarity. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * feat(jans-cedarling): add multi-issuer profiling example - Introduced a new example file `profiling_multi_issuer.rs` to demonstrate profiling for multi-issuer JWT validation. - Implemented a main function that initializes Cedarling with multiple issuers, validates authorization requests, and generates a flamegraph for performance analysis. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> --------- Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> Co-authored-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * docs: Update Documentation (#13515) * refactor(docs): rename authorization methods for clarity - Updated method names in the Cedarling Rust documentation to improve clarity: - Renamed `authorize()` to `authorize_unsigned()` for unsigned authorization with directly provided principals. - Renamed `authorize_unsigned()` to `authorize_multi_issuer()` for token-based authorization using multi-issuer tokens. - Adjusted corresponding examples in the mobile apps documentation to reflect these changes. - Removed deprecated configuration fields from the sidecar tutorial to streamline setup instructions. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * docs(cedarling): update README to reflect changes in authorization interfaces - Revised the Cedarling documentation to clarify the number of core interfaces, reducing from six to five. - Enhanced descriptions for `authorize_unsigned` and `authorize_multi_issuer` methods to improve understanding of their functionality and use cases. - Removed redundant explanations and streamlined the text for better readability. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * docs(cedarling): remove deprecated configuration fields from KrakenD integration guide - Eliminated `CEDARLING_WORKLOAD_AUTHZ` and `CEDARLING_ID_TOKEN_TRUST_MODE` from the KrakenD integration documentation to reflect recent changes in authorization configurations. - Updated the instructions for clarity and to ensure alignment with the current setup requirements. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * docs(cedarling): update authorization documentation to reflect multi-issuer changes - Removed references to deprecated configuration fields `CEDARLING_USER_AUTHZ` and `CEDARLING_WORKLOAD_AUTHZ` from the quick start and reference guides. - Enhanced the `cedarling-authz.md` and `cedarling-entities.md` documentation to clarify the creation of User and Workload entities in the context of the new `authorize_multi_issuer` method. - Updated examples and descriptions to align with the latest authorization methods and their usage. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * docs(cedarling): update authorization tutorials - Removed deprecated configuration fields and streamlined examples to enhance clarity and usability. - Updated context and request building sections to align with the latest authorization practices. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * docs(cedarling): remove deprecated configuration fields from sample inputs - Eliminated `CEDARLING_ID_TOKEN_TRUST_MODE`, `CEDARLING_USER_AUTHZ`, and `CEDARLING_WORKLOAD_AUTHZ` from the sample inputs documentation to reflect recent changes in authorization configurations. - Streamlined the documentation for improved clarity and alignment with current practices. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * docs(cedarling): update README files to reflect changes in authorization methods - Revised the README documentation across multiple components to clarify the usage of `authorize_unsigned` and remove references to deprecated fields such as `CEDARLING_ID_TOKEN_TRUST_MODE`. - Enhanced examples and descriptions for better alignment with current authorization practices, including updates to the Python and WASM bindings. - Added new bootstrap config fixtures for testing purposes to support the updated authorization methods. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * refactor(policies): Removed legacy User and Workload policies from `policy-store_no_trusted_issuers.yaml` and `policy-store_ok_2.yaml` to focus on TestPrincipal entities. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * docs(cedarling): update authorization documentation and examples - Revised the Cedarling Rust and Go documentation to reflect the new `authorize_multi_issuer` method, replacing references to the deprecated `authorize` method. - Updated examples in the Go and Python tutorials to demonstrate the new multi-issuer token handling and clarified the differences between authorization methods. - Removed outdated sections and streamlined content for better clarity and alignment with current practices. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> * chore(jans-cedarling): remove unused params from test files Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * docs(cedarling): update authorization method references and examples - Revised documentation across Rust, JavaScript, Python, and Java tutorials to replace deprecated `authorize` method references with `authorize_unsigned` and `authorize_multi_issuer`. - Added a new example for multi-issuer profiling in the Rust documentation. - Clarified the retrieval of `request_id` in the logging documentation to include both `authorize_unsigned` and `authorize_multi_issuer` methods. Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> --------- Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> Co-authored-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * fix(jans-cedarling): fix unsigned benchmark Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * chore(jans-cedarling): add for unsigned auth realistic payload Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * fix(jans-cedarling): add returning error on build entity with schema (#13539) * refactor(jans-cedarling): update `build_entity_attrs_with_shape` to return error Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * fix(jans-cedarling): fix errors surfaced by `build_entity_attrs_with_shape` returning Result - Skip type mismatch errors for optional attributes instead of failing - Pass all claims (incl. synthetic token_type/validated_at) to build_entity_attrs instead of filtering reserved claims and re-adding them - Fix test schemas: use Url record type for TrustedIssuer.issuer_entity_id - Check for default resource entity before attribute validation - Update can_build_entity_with_optional_attr test to provide required attrs Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * refactor(jans-cedarling): cosmetic code changes Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> --------- Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> * chore(jans-cedarling): remove duplicate `CEDARLING_LOCK` entry and run `cargo fmt --all` Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> --------- Signed-off-by: haileyesus2433 <haileyesusbe@gmail.com> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: imran <imranishaq7071@gmail.com> Signed-off-by: Mustafa Baser <mbaser@mail.com> Signed-off-by: yuriyz <yzabrovarniy@gmail.com> Signed-off-by: Oleh Bozhok <6554798+olehbozhok@users.noreply.github.com> Signed-off-by: iromli <isman.firmansyah@gmail.com> Signed-off-by: YuriyZ <yzabrovarniy@gmail.com> Signed-off-by: moabu <47318409+moabu@users.noreply.github.com> Signed-off-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com> Signed-off-by: jgomer2001 <bonustrack310@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Imran <78725662+imran-ishaq@users.noreply.github.com> Co-authored-by: YuriyM <Yuriy.Movchan@gmail.com> Co-authored-by: Oleh <6554798+olehbozhok@users.noreply.github.com> Co-authored-by: Isman Firmansyah <iromli@users.noreply.github.com> Co-authored-by: Devrim <devrimyatar@gluu.org> Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com> Co-authored-by: YuriyZ <yzabrovarniy@gmail.com> Co-authored-by: Arnab Dutta <arnab.bdutta@gmail.com> Co-authored-by: Yuriy M. <95305560+yuremm@users.noreply.github.com> Co-authored-by: Safin Wasi <6601566+SafinWasi@users.noreply.github.com> Co-authored-by: Jose Gonzalez <bonustrack310@gmail.com>



Prepare
Description
Target issue
closes #13308
Implementation Details
Test and Document the changes
Please check the below before submitting your PR. The PR will not be merged if there are no commits that start with
docs:to indicate documentation changes or if the below checklist is not selected.Summary by CodeRabbit
New Features
Improvements