8000 ProjectPasskeys: fix(jans-fido2): Major FIDO2 / Passkeys upgrade by maduvena · Pull Request #9120 · JanssenProject/jans · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

ProjectPasskeys: fix(jans-fido2): Major FIDO2 / Passkeys upgrade #9120

New issue

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

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

Already on GitHub? Sign in to your account

Closed
wants to merge 4,438 commits into from

Conversation

maduvena
Copy link
Contributor
@maduvena maduvena commented Aug 5, 2024

This PR completely revamps jans-fido2, to enable support for passkeys, and bring the server up to spec.

So far changes:

8000 Copy link
dryrunsecurity bot commented Aug 5, 2024

DryRun Security Summary

The pull request covers various updates and improvements to the FIDO2 authentication implementation in the Janssen application, focusing on enhancing security, configurability, logging, and monitoring of the FIDO2 functionality.

Expand for full summary

Summary:

The code changes in this pull request cover various updates and improvements to the FIDO2 (Fast Identity Online) authentication implementation in the Janssen (Jans) application. The changes focus on enhancing the security and configurability of the FIDO2 functionality, with a particular emphasis on the following areas:

  1. Metadata Service Validation: The changes introduce the ability to disable or monitor the metadata service validation during the FIDO2 attestation process. This is an important security consideration, as disabling metadata validation could potentially introduce risks if untrusted authenticators are allowed.

  2. FIDO Algorithm Configuration: The changes rename the "requested credential types" parameter to "enabled FIDO algorithms", allowing for better control and visibility over the supported cryptographic algorithms used in the FIDO2 implementation.

  3. Relying Party (RP) Configuration: The changes update the Relying Party configuration, including renaming fields and simplifying the structure. This helps to ensure that the RP information is correctly configured and aligned with the expected deployment environment.

  4. User Auto-Enrollment: The changes suggest a move away from automatically enrolling users in the FIDO2 authentication process, which is a positive security enhancement, as it requires explicit user consent for enrollment.

  5. Logging and Monitoring: The changes introduce new configuration options related to logging and metrics, which can improve the overall visibility and monitoring of the FIDO2 implementation.

Files Changed:

  1. docker-jans-fido2/scripts/upgrade.py: This file contains changes to the FIDO2 dynamic configuration, including the modification of the "attestationMode" parameter, which should be carefully reviewed to ensure that it does not introduce any security vulnerabilities.

  2. docs/janssen-server/fido/logs.md, docs/janssen-server/config-guide/fido2-config/janssen-fido2-configuration.md, docs/janssen-server/fido/config.md, docs/janssen-server/reference/json/properties/fido2-properties.md: These documentation files have been updated to reflect the changes in the FIDO2 configuration, including the renaming of parameters, the addition of new configuration options, and the changes to the metadata service validation.

  3. docs/script-catalog/person_authentication/fido2-external-authenticator/Fido2ExternalAuthenticator.py: This file contains changes to the FIDO2 authentication process, including the removal of the platformAuthenticatorAvailable parameter and improvements to the logging and error handling.

  4. docs/janssen-server/fido/vendor-metadata.md: This file discusses the handling of vendor-specific metadata in the FIDO2 implementation and the implications of disabling metadata validation.

  5. jans-auth-server/server/src/main/webapp/auth/fido2/passkeys.xhtml: This file contains changes to the FIDO2 credential registration and authentication processes, including the addition of an alert message for debugging purposes.

Overall, the changes in this pull request appear to be focused on improving the security and configurability of the FIDO2 implementation in the Janssen application. As an application security engineer, it is important to thoroughly review these changes and ensure that the FIDO2 implementation continues to adhere to best practices and industry standards for secure authentication.

Code Analysis

We ran 9 analyzers against 30 files and 2 analyzers had findings. 7 analyzers had no findings.

Analyzer Findings
Sensitive Files Analyzer 1 finding
Authn/Authz Analyzer 3 findings

Riskiness

🟢 Risk threshold not exceeded.

View PR in the DryRun Dashboard.

@mo-auto mo-auto added comp-jans-fido2 Component affected by issue or PR kind-bug Issue or PR is a bug in existing functionality labels Aug 5, 2024
Copy link
sonarqubecloud bot commented Aug 5, 2024

Copy link
sonarqubecloud bot commented Aug 5, 2024

Quality Gate Failed Quality Gate failed for 'Fido2 API'

Failed conditions
181 New Code Smells (required ≤ 8)
69 Duplicated Lines on New Code (required ≤ 20)

See analysis details on SonarCloud

Catch issues before they fail your Quality Gate with our IDE extension SonarLint

Copy link
sonarqubecloud bot commented Aug 5, 2024

@yackermann yackermann changed the title fix(jans-fido2): #8901 ProjectPasskeys: fix(jans-fido2): Major FIDO2 / Passkeys upgrade Aug 5, 2024
@yackermann yackermann marked this pull request as draft August 5, 2024 20:45
* feat: add support for BS / BE flags in AuthData #8903

Signed-off-by: Arnab Dutta <arnab.bdutta@gmail.com>

* feat: adding comments

Signed-off-by: Arnab Dutta <arnab.bdutta@gmail.com>

* feat: adding comments

Signed-off-by: Arnab Dutta <arnab.bdutta@gmail.com>

---------

Signed-off-by: Arnab Dutta <arnab.bdutta@gmail.com>
Co-authored-by: Ackermann Yuriy <1636116+yackermann@users.noreply.github.com>
Copy link
sonarqubecloud bot commented Aug 6, 2024

yurem and others added 18 commits August 6, 2024 20:13
Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>
* Lock / Cedarling doc updates
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Michael Schwartz

* fix(docs): proofreading

Signed-off-by: ossdhaval <343411+ossdhaval@users.noreply.github.com>

---------

Signed-off-by: ossdhaval <343411+ossdhaval@users.noreply.github.com>
Co-authored-by: ossdhaval <343411+ossdhaval@users.noreply.github.com>
* fix(jans-auth): fix AD user authentication

Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>

* fix(jans-auth): fix AD user authentication

Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>

---------

Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>
…9133)

* fix(config-api): asset mgt endpoint fixes

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api): asset upload mgt ehancement and fido

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api): asset upload mgt ehancement and fido

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api): asset upload mgt ehancement and fido

Signed-off-by: pujavs <pujas.works@gmail.com>

---------

Signed-off-by: pujavs <pujas.works@gmail.com>
Co-authored-by: Devrim <devrimyatar@gluu.org>
…hbase persistence (#9134)

* fix(docker-jans-saml): kc-jans-spi throws error if using spanner/couchbase persistence

Signed-off-by: iromli <isman.firmansyah@gmail.com>

* fix: extract spanner/couchbase libs into KC providers directory

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>
Signed-off-by: mzico <mohib@gluu.org>
Co-authored-by: Dhaval D <343411+ossdhaval@users.noreply.github.com>
 (#9141)

Signed-off-by: YuriyZ <yzabrovarniy@gmail.com>
…val #9074 (#9139)

Signed-off-by: YuriyZ <yzabrovarniy@gmail.com>
…#8910)

* docs: add network traffic notes

* docs: add network traffic notes

Signed-off-by: Amro Misbah <amromisba7@gmail.com>

* docs: add external communication

Signed-off-by: Amro Misbah <amromisba7@gmail.com>

* docs: add note to avoid java args break

Signed-off-by: Amro Misbah <amromisba7@gmail.com>

* Revert "docs: add note to avoid java args break"

This reverts commit 9f22446.

* feat: add custom service Account, labels and annotations

* docs: generate helm-docs

* fix: resolve conflict

Signed-off-by: Amro Misbah <amromisba7@gmail.com>

* docs: resolve conflicts

Signed-off-by: Amro Misbah <amromisba7@gmail.com>

* fix: add lock additional labels and annotations

Signed-off-by: Amro Misbah <amromisba7@gmail.com>

* fix: reference labels and annotations correctly

Signed-off-by: Amro Misbah <amromisba7@gmail.com>

* fix: consistent order

* fix(nginx-ingress): pass one argument to toYaml function

Signed-off-by: Amro Misbah <amromisba7@gmail.com>

* docs: generate helm-docs

Signed-off-by: Amro Misbah <amromisba7@gmail.com>

---------

Signed-off-by: Amro Misbah <amromisba7@gmail.com>
Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com>
Signed-off-by: iromli <isman.firmansyah@gmail.com>
…id json response #9148 (#9149)

Signed-off-by: YuriyZ <yzabrovarniy@gmail.com>
* fix(config-api): asset mgt endpoint fixes

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api): asset upload mgt ehancement and fido

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api): asset upload mgt ehancement and fido

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api): asset upload mgt ehancement and fido

Signed-off-by: pujavs <pujas.works@gmail.com>

* fix(config-api): asset upload

Signed-off-by: pujavs <pujas.works@gmail.com>

* fix(config-api): lock review comments

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api): lock code review comments

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api): lock master renamed to lock server

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api): lock master renamed to lock server

Signed-off-by: 
8000
pujavs <pujas.works@gmail.com>

* feat(config-api): lock master renamed to lock server

Signed-off-by: pujavs <pujas.works@gmail.com>

* feat(config-api): lock master renamed to lock server

Signed-off-by: pujavs <pujas.works@gmail.com>

---------

Signed-off-by: pujavs <pujas.works@gmail.com>
Signed-off-by: Mustafa Baser <mbaser@mail.com>
Signed-off-by: Mustafa Baser <mbaser@mail.com>
Signed-off-by: Yuriy Movchan <Yuriy.Movchan@gmail.com>
SafinWasi and others added 4 commits October 17, 2024 12:45
* feat(jans-casa): fix bioid flow launching

Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>

* docs(jans-casa): fix instructions

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(cloud-native): resolve opentelemetry error on keycloak startup

Signed-off-by: iromli <isman.firmansyah@gmail.com>

* chore: downgrade keycloak version to 25.0.6

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>
Copy link

Copy link

Quality Gate Passed Quality Gate passed for 'keycloak-integration-parent'

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarCloud

Copy link

Copy link

Copy link

Copy link

Copy link

Copy link

moabu and others added 10 commits October 17, 2024 14:56
docs: add release process

Signed-off-by: moabu <47318409+moabu@users.noreply.github.com>
* feat(jans-fido2): reflect authenticator name with passkeys

Signed-off-by: imran-ishaq <imranishaq024@gmail.com>

* fix(jans-fido2): handle test cases for authenticator name

Signed-off-by: imran-ishaq <imranishaq024@gmail.com>

---------

Signed-off-by: imran-ishaq <imranishaq024@gmail.com>
Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com>
#9624)

fix(jans-fido2): remove superGluu-related endpoints from FIDO2 Swagger and ConfigurationControllerTest

Signed-off-by: imran-ishaq <imranishaq024@gmail.com>
Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com>
….0-M12 to 4.0.0-M16 in /jans-scim (#9010)

chore(deps): bump org.apache.maven.plugins:maven-site-plugin

Bumps [org.apache.maven.plugins:maven-site-plugin](https://github.com/apache/maven-site-plugin) from 4.0.0-M12 to 4.0.0-M16.
- [Commits](apache/maven-site-plugin@maven-site-plugin-4.0.0-M12...maven-site-plugin-4.0.0-M16)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-site-plugin
  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: Jose Gonzalez <bonustrack310@gmail.com>
Signed-off-by: shekhar16 <shekharlaad1609@gmail.com>
Signed-off-by: shekhar16 <shekharlaad1609@gmail.com>
…tion and assertion API calls #9248 (#9974)

* feat(jans-fido2): add origin parameter in Fido2ExternalAuthenticator script for attestation and assertion API calls

Signed-off-by: imran-ishaq <imranishaq024@gmail.com>

* refactor(docs): add origin parameter in Fido2ExternalAuthenticator script for attestation and assertion API calls #9248

Signed-off-by: imran-ishaq <imranishaq024@gmail.com>

* fix(jans-fido2): handle origin if http or https is missing #9248

Signed-off-by: imran-ishaq <imranishaq024@gmail.com>

---------

Signed-off-by: imran-ishaq <imranishaq024@gmail.com>
Signed-off-by: imran-ishaq <imranishaq024@gmail.com>
Signed-off-by: Mustafa Baser <mbaser@mail.com>
Copy link
sonarqubecloud bot commented Nov 3, 2024

Signed-off-by: shekhar16 <shekharlaad1609@gmail.com>
@moabu
Copy link
Member
moabu commented Nov 7, 2024

Closed in favor of a rebase here #10078

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp-jans-fido2 Component affected by issue or PR kind-bug Issue or PR is a bug in existing functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0