diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 665fba86ab1..6d49a80fbf7 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -4,26 +4,30 @@ # These owners will be the default owners for everything in this branch of # the repo. Unless a later match takes precedence +/jans-keycloak-integration/ @uprightech +/jans-keycloak-link/ @shekhar16 /docker-jans-*/ @moabu @iromli -/automation/ @moabu -/charts/ @moabu +/automation/ @moabu @iromli +/charts/ @moabu @iromli /.github/ @moabu -/jans-*/version.txt @moabu -/jans-*/CHANGELOG.md @moabu +/jans-*/version.txt @moabu @mo-auto +/jans-*/CHANGELOG.md @moabu @mo-auto /jans-pycloudlib/ @moabu -/docker-jans-*/requirments.txt @mo-auto -/jans-bom/ @yurem @yuriyz -/jans-core/ @yurem @yuriyz +/docker-jans-*/requirments.txt @iromli @mo-auto +/jans-bom/ @yurem @yuriyz @yuriyzz +/jans-core/ @yurem @yuriyz @yuriyzz /jans-orm/ @yurem @yuriyz -/jans-notify/ @yurem -/jans-eleven/ @yuriyz -/jans-auth-server/ @yurem @yuriyz -/jans-fido2/ @yurem +/jans-auth-server/ @yurem @yuriyz @yuriyzz +/jans-fido2/ @yurem @yackermann +/jans-lock/ @yurem /jans-scim/ @jgomer2001 -/jans-client-api/ @duttarnab @yuriyz -/jans-config-api/ @pujavs @yuriyz -/jans-cli/ @mbaser -/jans-linux-setup/ @mbaser @smansoft @yuriyz -/jans-linux-setup/jans_setup/setup_app/version.py @moabu -/jans-linux-setup/static/scripts/admin_ui_plugin.py @mbaser @duttarnab -/super-jans @harsukhbir \ No newline at end of file +/jans-config-api/ @pujavs @yuriyz @yurem +/jans-cli-tui/ @devrimyatar +/jans-linux-setup/ @devrimyatar @yuriyz @yurem @yuriyzz +/jans-linux-setup/jans_setup/setup_app/version.py @moabu @mo-auto +/jans-linux-setup/static/scripts/admin_ui_plugin.py @devrimyatar @duttarnab +/jans-cache-refresh/ @yurem @shekhar16 +/jans-link/ @yurem @yuriyz +/agama/ @jgomer2001 +/jans-casa/ @jgomer2001 @maduvena +/demos/jans-tarp/ @duttarnab diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 583decfd129..f33fe6fac22 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,4 +4,254 @@ updates: - package-ecosystem: "github-actions" directory: "/" schedule: - interval: "daily" \ No newline at end of file + interval: "daily" + + - package-ecosystem: pip + directory: /automation + schedule: + interval: daily + + - package-ecosystem: docker + directory: /demos/benchmarking/docker-jans-loadtesting-jmeter + schedule: + interval: daily + + - package-ecosystem: pip + directory: /demos/benchmarking/docker-jans-loadtesting-jmeter + schedule: + interval: daily + + - package-ecosystem: npm + directory: /demos/jans-tarp + schedule: + interval: daily + + - package-ecosystem: pip + directory: /demos/jans-tent + schedule: + interval: daily + + - package-ecosystem: docker + directory: /docker-jans-all-in-one + schedule: + interval: daily + + - package-ecosystem: pip + directory: /docker-jans-all-in-one/app + schedule: + interval: daily + + - package-ecosystem: docker + directory: /docker-jans-auth-server + schedule: + interval: daily + + - package-ecosystem: pip + directory: /docker-jans-auth-server + schedule: + interval: daily + + - package-ecosystem: docker + directory: /docker-jans-casa + schedule: + interval: daily + + - package-ecosystem: pip + directory: /docker-jans-casa + schedule: + interval: daily + + - package-ecosystem: docker + directory: /docker-jans-certmanager + schedule: + interval: daily + + - package-ecosystem: pip + directory: /docker-jans-certmanager + schedule: + interval: daily + + - package-ecosystem: docker + directory: /docker-jans-config-api + schedule: + interval: daily + + - package-ecosystem: pip + directory: /docker-jans-config-api + schedule: + interval: daily + + - package-ecosystem: docker + directory: /docker-jans-configurator + schedule: + interval: daily + + - package-ecosystem: pip + directory: /docker-jans-configurator + schedule: + interval: daily + + - package-ecosystem: docker + directory: /docker-jans-fido2 + schedule: + interval: daily + + - package-ecosystem: pip + directory: /docker-jans-fido2 + schedule: + interval: daily + + - package-ecosystem: docker + directory: /docker-jans-keycloak-link + schedule: + interval: daily + + - package-ecosystem: pip + directory: /docker-jans-keycloak-link + schedule: + interval: daily + + - package-ecosystem: docker + directory: /docker-jans-link + schedule: + interval: daily + + - package-ecosystem: pip + directory: /docker-jans-link + schedule: + interval: daily + + - package-ecosystem: docker + directory: /docker-jans-monolith + schedule: + interval: daily + + - package-ecosystem: docker + directory: /docker-jans-persistence-loader + schedule: + interval: daily + + - package-ecosystem: pip + directory: /docker-jans-persistence-loader + schedule: + interval: daily + + - package-ecosystem: docker + directory: /docker-jans-saml + schedule: + interval: daily + + - package-ecosystem: pip + directory: /docker-jans-saml + schedule: + interval: daily + + - package-ecosystem: docker + directory: /docker-jans-scim + schedule: + interval: daily + + - package-ecosystem: pip + directory: /docker-jans-scim + schedule: + interval: daily + + - package-ecosystem: pip + directory: /docs + schedule: + interval: daily + + - package-ecosystem: npm + directory: /jans-auth-server/server/src/main/webapp/js/crypto-js-3.1.9-1 + schedule: + interval: daily + + - package-ecosystem: pip + directory: /jans-linux-setup + schedule: + interval: daily + + - package-ecosystem: gomod + directory: /terraform-provider-jans + schedule: + interval: daily + + - package-ecosystem: maven + directory: /agama + schedule: + interval: daily + + - package-ecosystem: maven + directory: /jans-auth-server + schedule: + interval: daily + + - package-ecosystem: maven + directory: /jans-bom + schedule: + interval: daily + + - package-ecosystem: maven + directory: /jans-casa + schedule: + interval: daily + + - package-ecosystem: maven + directory: /jans-config-api + schedule: + interval: daily + + - package-ecosystem: maven + directory: /jans-core + schedule: + interval: daily + + - package-ecosystem: maven + directory: /jans-fido2 + schedule: + interval: daily + + - package-ecosystem: maven + directory: /jans-keycloak-integration + schedule: + interval: daily + + - package-ecosystem: maven + directory: /jans-keycloak-link + schedule: + interval: daily + + - package-ecosystem: maven + directory: /jans-link + schedule: + interval: daily + + - package-ecosystem: maven + directory: /jans-orm + schedule: + interval: daily + + - package-ecosystem: maven + directory: /jans-lock + schedule: + interval: daily + + - package-ecosystem: maven + directory: /jans-scim + schedule: + interval: daily + + - package-ecosystem: maven + directory: /jans-linux-setup/jans_setup/templates/jans-keycloak-link/idp-broker-api + schedule: + interval: daily + + - package-ecosystem: docker + directory: /docker-jans-kc-scheduler + schedule: + interval: daily + + - package-ecosystem: pip + directory: /docker-jans-kc-scheduler + schedule: + interval: daily diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 0e16a464441..22b245a912a 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -9,6 +9,10 @@ #### Target issue + + + +closes #issue-number-here #### Implementation Details @@ -19,3 +23,7 @@ - [ ] Relevant unit and integration tests have been added/updated - [ ] Relevant documentation has been updated if any (i.e. user guides, installation and configuration guides, technical design docs etc) + + +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. +- [ ] **I confirm that there is no impact on the docs due to the code changes in this PR.** diff --git a/.github/workflows/activate-nightly-build.yml b/.github/workflows/activate-nightly-build.yml new file mode 100644 index 00000000000..9005b817cf6 --- /dev/null +++ b/.github/workflows/activate-nightly-build.yml @@ -0,0 +1,40 @@ +name: Activate Nightly Build + +on: + workflow_dispatch: + schedule: + - cron: "0 23 * * *" +permissions: + contents: read + +jobs: + publish_binary_packages: + permissions: + contents: write # for Git to git push + runs-on: ubuntu-22.04 + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - name: Checkout + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + + - name: set nightly version + id: nightly + continue-on-error: false + if: ${{ github.event_name }} == 'schedule' || ${{ github.event.inputs.nightly }} == 'true' + run: | + VERSION=`curl "https://api.github.com/repos/cli/cli/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/' | cut -c2-` + echo $VERSION + curl -sSL https://github.com/cli/cli/releases/download/v${VERSION}/gh_${VERSION}_linux_amd64.tar.gz -o gh_${VERSION}_linux_amd64.tar.gz + tar xvf gh_${VERSION}_linux_amd64.tar.gz + sudo cp gh_${VERSION}_linux_amd64/bin/gh /usr/local/bin/ + gh version + echo "${{ secrets.MOAUTO_WORKFLOW_TOKEN }}" | gh auth login --with-token + NIGHTLY_VERSION=$(cat docker-jans-auth-server/Dockerfile | grep "ENV CN_VERSION" | awk -F "[=-]" '{print $2}') + gh release delete v${NIGHTLY_VERSION}.nightly --cleanup-tag --yes || echo "v${NIGHTLY_VERSION}.nightly" does not exist + gh release delete v${NIGHTLY_VERSION}.nightly --cleanup-tag --yes || echo "v${NIGHTLY_VERSION}.nightly" does not exist + git push --delete origin v${NIGHTLY_VERSION}.nightly || echo "v${NIGHTLY_VERSION}.nightly" does not exist + gh release create v${NIGHTLY_VERSION}.nightly --generate-notes --prerelease --title "v${NIGHTLY_VERSION}.nightly" \ No newline at end of file diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml new file mode 100644 index 00000000000..c8c86676c4a --- /dev/null +++ b/.github/workflows/backport.yml @@ -0,0 +1,56 @@ +name: Backport +on: + pull_request_target: + types: [closed, labeled] + branches: [main, release-*] +permissions: + contents: read + pull-requests: read +# WARNING: +# When extending this action, be aware that $GITHUB_TOKEN allows write access to +# the GitHub repository. This means that it should not evaluate user input in a +# way that allows code injection. + +jobs: + backport: + permissions: + contents: write # so it can comment + pull-requests: write # so it can create pull requests + name: Backport Pull Request + # Run the action if a PR is merged with backport labels + # OR + # when already merged PR is labeled with backport labels + if: > + github.repository == 'JanssenProject/jans' + && + github.event.pull_request.merged + && ( + github.event.action == 'closed' + || ( + github.event.action == 'labeled' + && startsWith(github.event.label.name, 'backport/') + ) + ) + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - name: Create backport PRs + uses: korthout/backport-action@e8161d6a0dbfa2651b7daa76cbb75bc7c925bbf3 # v2.4.1 + with: + # Config README: https://github.com/zeebe-io/backport-action#backport-action + github_token: ${{ secrets.MOAUTO_WORKFLOW_TOKEN }} + github_workspace: ${{ github.workspace }} + + # Regex pattern to match GitHub labels + # The capture group catches the target branch + # i.e. label backport/v1.0.0 will create backport PR for branch v1.0.0 + label_pattern: ^backport\/([^ ]+)$ + + pull_description: |- + Automated backport to `${target_branch}`, triggered by a label in #${pull_number}. + See ${issue_refs}. diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml new file mode 100644 index 00000000000..5afb12470df --- /dev/null +++ b/.github/workflows/build-docs.yml @@ -0,0 +1,227 @@ +name: Publish docs via GitHub Pages +on: + push: + branches: + - main + paths: + - 'docs/**' + - 'charts/**' + - 'mkdocs.yml' + - 'docker-jans-**/README.md' + pull_request: + branches: + - main + paths: + - 'docs/**' + - 'charts/**' + - 'mkdocs.yml' + - 'docker-jans-**/README.md' + release: + types: + - published + workflow_dispatch: + inputs: + version: + description: 'Version tag (e.g."v1.1.6")' + default: "v1.1.6" + required: false +concurrency: + group: run-once + cancel-in-progress: false +permissions: + contents: read + +jobs: + build: + permissions: + contents: write # for Git to git push + if: github.repository == 'JanssenProject/jans' + name: Deploy docs + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - name: Checkout + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + fetch-depth: 0 + token: ${{ secrets.MOAUTO_WORKFLOW_TOKEN }} + + - name: Set up Python 3.10 + uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0 + with: + python-version: "3.10" + cache: pip + cache-dependency-path: docs/requirements.txt + + - name: Install dependencies + run: | + pip install --require-hashes -r docs/requirements.txt + cp mkdocs.yml ../ + + - name: Checkout jans ${{ github.event.inputs.version }} + if: >- + github.event_name == 'workflow_dispatch' + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + ref: '${{ github.event.inputs.version }}' + fetch-depth: 0 + token: ${{ secrets.MOAUTO_WORKFLOW_TOKEN }} + + - name: Copy files from main to ${{ github.event.inputs.version }} + if: >- + github.event_name == 'workflow_dispatch' + run: | + mv ../mkdocs.yml mkdocs.yml + + - name: Copy generated chart from main + run: | + helm package charts/janssen/ + helm package charts/janssen-all-in-one/ + cp janssen-*.tgz ../ + + - name: Import GPG key + id: import_gpg + uses: crazy-max/ghaction-import-gpg@01dd5d3ca463c7f10f7f4f7b4f177225ac661ee4 # v6.1.0 + with: + gpg_private_key: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY }} + passphrase: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY_PASSPHRASE }} + git_user_signingkey: true + git_commit_gpgsign: true + + - name: Configure Git + run: | + git config --global user.name "mo-auto" + git config --global user.email "54212639+mo-auto@users.noreply.github.com" + git config --global user.signingkey "${{ steps.import_gpg.outputs.keyid }}" + echo "${{ secrets.MOAUTO_WORKFLOW_TOKEN }}" | gh auth login --with-token + + - name: Generate docs + continue-on-error: true + if: >- + github.event_name == 'release' && + github.event.action == 'published' && + startsWith(github.event.release.name, 'v') && + !github.event.release.draft + env: + VERSION: ${{ github.event.release.tag_name }} + run: | + mkdir temp && cd temp + git clone https://mo-auto:${{ secrets.MOAUTO_WORKFLOW_TOKEN }}@github.com/JanssenProject/jans.git + cd jans + git checkout -b cn-jans-update-auto-generated-docs + git pull origin cn-jans-update-auto-generated-docs || echo "Nothing to pull" + echo "Custom work on generating docs can go here." + + # Run cn docs + sudo bash ./automation/docs/generated-cn-docs.sh . || echo "something went wrong with generating the cn docs" + + echo "Generating auto-generated docs and push to main" + sudo bash ./automation/docs/generate-autogenerated-docs.sh . || echo "something went wrong with generating the property docs" + cd docs + git add . || echo "Nothing to add" + git commit -a -S -m "docs: auto-generated property docs" || echo "Nothing to commit" + cd .. + + echo "Add jans-config-api Swagger SPECs that are auto-generated via API annotations" + sudo bash ./automation/docs/generate-swagger-specs.sh . || echo "something went wrong with generating the swagger docs" + cd jans-config-api/docs + git add . || echo "Nothing to add" + git commit -a -S -m "docs: auto-generated Swagger SPEC docs" || echo "Nothing to commit" + cd ../.. + + git push --set-upstream origin cn-jans-update-auto-generated-docs + MESSAGE="fix(docs): autogenerate docs" + PR=$(gh pr create --body "Auto generated docs" --title "${MESSAGE}") + cd ../../ + + sudo rm -rf temp + + - name: mike deploy ${{ github.event.inputs.version }} + if: >- + github.event_name == 'workflow_dispatch' + run: | + mike deploy --push --force ${{ github.event.inputs.version }} + + # This deploys the current docs into gh-pages/head on merges to main + # The old "main" gets deleted if it exists, head is more descriptive + - name: mike deploy head + if: contains(github.ref, 'refs/heads/main') && github.event_name != 'workflow_dispatch' + run: | + mike deploy --push head + + # If a release has been published, deploy it as a new version + - name: mike deploy new version + if: >- + github.event_name == 'release' && + github.event.action == 'published' && + startsWith(github.event.release.name, 'v') && + !github.event.release.draft + env: + VERSION: ${{ github.event.release.tag_name }} + run: | + mike deploy --push "$VERSION" + + - name: Update mike version aliases + #if: >- + # github.event_name != 'workflow_dispatch' + id: set_versions + run: | + TAGS=$(gh release list -L 1000 -R ${{ github.repository }} | grep -o '^\v.*'| grep -v Draft | cut -f 1 | sed '/-/!{s/$/_/}' | sort -V | sed 's/_$//') + LATEST=$(echo "${TAGS}" | tail -1) + STABLE=$(echo "${TAGS}" | grep -v -- "nightly" | tail -1) + echo "Latest is $LATEST and Stable is $STABLE" + # remove below two lines after first release + #LATEST="head" + #STABLE="head" + mike alias -u head main + mike alias -u "${STABLE}" stable + mike set-default --push stable + echo "LATEST=${LATEST}" >> $GITHUB_OUTPUT + echo "STABLE=${STABLE}" >> $GITHUB_OUTPUT + + # Ensures the current branch is gh-pages, + # Creates / updates the "stable" and "latest" plain text files with the corresponding versions + # Commits if the files were changed + # Finally pushes if there are unpushed commits + - name: Create version files + #if: >- + # github.event_name != 'workflow_dispatch' + run: | + LATEST=${{ steps.set_versions.outputs.LATEST }} + STABLE=${{ steps.set_versions.outputs.STABLE }} + git checkout gh-pages + git pull origin gh-pages + # move generated chart from a previous step + mv ../janssen-*.tgz ./charts/ + cd ./charts + git add janssen-*.tgz && git update-index --refresh + helm repo index . + git add index.yaml && git update-index --refresh + cd .. + # END move generated chart from a previous step + + echo "Replacing release number markers with actual release number" + cd ${LATEST} + egrep -lRZ --exclude=CONTRIBUTING.md . | xargs -0 -l sed -i -e "s/replace-janssen-version/${LATEST:1}/g" + git add . && git update-index --refresh + cd .. + for folder in */; do + if [[ $folder != "${STABLE}/" ]]; then + git rm -r $folder/admin/reference/javadocs || echo "Nothing to remove" + fi + done + # Replace scarf url + sed -i -e "s/placeholder-scarf-pixel-url/https:\/\/static.scarf.sh\/a.png?x-pxid=2c347abc-a9b4-4c4b-bdc9-2682edbcc0c9/g" ${STABLE}/overrides/main.html + git add ${STABLE}/overrides/main.html && git update-index --refresh + git diff-index --quiet HEAD -- || git commit -S -m "docs: update scarf pixel url" + echo "${STABLE}" > stable.txt + git add stable.txt && git update-index --refresh + git diff-index --quiet HEAD -- || git commit -S -m "Set stable to ${STABLE}" + echo "${LATEST}" > latest.txt + git add latest.txt && git update-index --refresh + git diff-index --quiet HEAD -- || git commit -S -m "Set latest to ${LATEST}" + git push origin gh-pages diff --git a/.github/workflows/build-packages.yml b/.github/workflows/build-packages.yml index 70a1521b903..df59e48fb33 100644 --- a/.github/workflows/build-packages.yml +++ b/.github/workflows/build-packages.yml @@ -4,17 +4,23 @@ on: push: tags: - 'v**' - - workflow_dispatch: - jobs: publish_binary_packages: - runs-on: ubuntu-latest + if: github.repository == 'JanssenProject/jans' + runs-on: ubuntu-20.04 strategy: + fail-fast: false matrix: - name: [ubuntu20, el8, suse15] + name: [ubuntu22, ubuntu20, el8, suse15] include: + - name: ubuntu22 + asset_suffix: ~ubuntu22.04_amd64.deb + build_files: deb/jammy + asset_prefix: '_' + asset_path: jans + sign_cmd: dpkg-sig -s builder -k DE92BEF14A1A4E542F678B64DC3C790386C73900 + python_version: 3.8 - name: ubuntu20 asset_suffix: ~ubuntu20.04_amd64.deb build_files: deb/focal @@ -23,14 +29,14 @@ jobs: sign_cmd: dpkg-sig -s builder -k DE92BEF14A1A4E542F678B64DC3C790386C73900 python_version: 3.8 - name: el8 - asset_suffix: .el8.x86_64.rpm + asset_suffix: -el8.x86_64.rpm build_files: rpm/el8 asset_prefix: '-' asset_path: jans/rpmbuild/RPMS/x86_64 sign_cmd: rpm --addsign python_version: 3.6 - name: suse15 - asset_suffix: .suse15.x86_64.rpm + asset_suffix: -suse15.x86_64.rpm build_files: rpm/suse15 asset_prefix: '-' asset_path: jans/rpmbuild/RPMS/x86_64 @@ -38,21 +44,32 @@ jobs: python_version: 3.6 steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - name: Checkout + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + path: temp-jans + - name: Getting build dependencies id: get_dependencies - run: | - git clone -b jans https://github.com/GluuFederation/packaging + run: | mkdir -p jans/jans-src/opt/ - cp -rp packaging/${{ matrix.build_files }}/* jans/ - wget https://raw.githubusercontent.com/JanssenProject/jans/main/jans-linux-setup/jans_setup/install.py -O jans/install.py + cp -rp temp-jans/automation/packaging/${{ matrix.build_files }}/* jans/ + cp temp-jans/jans-linux-setup/jans_setup/install.py jans/install.py sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get update sudo apt-get install -y python${{ matrix.python_version }} - sudo apt install -y python3-distutils python3-ldap3 build-essential devscripts debhelper rpm dpkg-sig + sudo apt install -y build-essential devscripts debhelper rpm dpkg-sig python3-dev python3-ldap3 python3-requests python3-ruamel.yaml python3-pymysql python3-crypto python3-distutils python3-prompt-toolkit python${{ matrix.python_version }}-distutils libpq-dev python${{ matrix.python_version }}-dev apache2 rsyslog python3-urllib3 python3-certifi postgresql postgresql-contrib + sudo cp -r /usr/lib/python3/dist-packages /usr/lib/python${{ matrix.python_version }}/ + sudo python${{ matrix.python_version }} -m pip install psycopg2-binary psycopg2 - name: Import GPG key id: import_gpg continue-on-error: true - uses: crazy-max/ghaction-import-gpg@v4 + uses: crazy-max/ghaction-import-gpg@01dd5d3ca463c7f10f7f4f7b4f177225ac661ee4 # v6.1.0 with: gpg_private_key: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY }} passphrase: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY_PASSPHRASE }} @@ -64,20 +81,25 @@ jobs: - name: Get latest tag id: previoustag run: | - echo "::set-output name=tag::$(curl https://api.github.com/repos/${{ github.repository }}/releases -s | grep "tag_name" | cut -d '"' -f 4 | grep -o '^\v.*' | head -n 1)" - echo "::set-output name=version::$(curl https://api.github.com/repos/${{ github.repository }}/releases -s | grep "tag_name" | cut -d '"' -f 4 | grep -o '^\v.*' | head -n 1 | cut -d 'v' -f 2)" - - name: Print Version + echo "version=$(echo ${{ github.event.ref }} | cut -d 'v' -f 2)" >> $GITHUB_OUTPUT + echo "tag=$(echo ${{ github.event.ref }} | cut -d '/' -f 3)" >> $GITHUB_OUTPUT + echo "PACKAGE_PREFIX=jans" >> ${GITHUB_ENV} + + - name: Print Version and tag run: | - echo "${{ steps.previoustag.outputs.version }}" + echo "Version: ${{ steps.previoustag.outputs.version }}" + echo "Tag: ${{ steps.previoustag.outputs.tag }}" - name: Running install and build id: run_build run: | cd jans/ - sudo python${{ matrix.python_version }} install.py --no-setup + sudo python${{ matrix.python_version }} install.py -download-exit -yes --keep-downloads --keep-setup -force-download cp -r /opt/dist jans-src/opt/ cp -r /opt/jans jans-src/opt/ touch jans-src/opt/jans/jans-setup/package - rm -rf install.py install jans-cli + rm -rf install.py install jans-cli-tui + rm -rf jans-src/opt/jans/jans-setup/logs/setup.log + rm -rf jans-src/opt/jans/jans-setup/logs/setup_error.log sed -i "s/%VERSION%/${{ steps.previoustag.outputs.version }}/g" run-build.sh cat run-build.sh sudo ./run-build.sh @@ -86,6 +108,8 @@ jobs: run : | echo '%_gpg_name moauto (automation) <54212639+mo-auto@users.noreply.github.com>' >> ~/.rpmmacros ${{ matrix.sign_cmd }} ${{github.workspace}}/${{ matrix.asset_path }}/jans${{ matrix.asset_prefix }}${{ steps.previoustag.outputs.version }}${{ matrix.asset_suffix }} + gpg --armor --detach-sign ${{github.workspace}}/${{ matrix.asset_path }}/jans${{ matrix.asset_prefix }}${{ steps.previoustag.outputs.version }}${{ matrix.asset_suffix }} + - name: Create checksum id: create_checksum run: | @@ -94,26 +118,43 @@ jobs: sudo ./checksum.sh - name: Upload binaries to release id: upload_binaries - uses: svenstaro/upload-release-action@v2 + uses: svenstaro/upload-release-action@1beeb572c19a9242f4361f4cee78f8e0d9aec5df # v2 with: repo_token: ${{ secrets.MOAUTO_WORKFLOW_TOKEN }} file: ${{github.workspace}}/${{ matrix.asset_path }}/jans${{ matrix.asset_prefix }}${{ steps.previoustag.outputs.version }}${{ matrix.asset_suffix }} - asset_name: jans${{ matrix.asset_prefix }}${{ steps.previoustag.outputs.version }}${{ matrix.asset_suffix }} + asset_name: ${{ env.PACKAGE_PREFIX }}${{ matrix.asset_prefix }}${{ steps.previoustag.outputs.version }}${{ matrix.asset_suffix }} tag: ${{ steps.previoustag.outputs.tag }} + overwrite: true - name: Upload checksum to release id: upload_shas - uses: svenstaro/upload-release-action@v2 + uses: svenstaro/upload-release-action@1beeb572c19a9242f4361f4cee78f8e0d9aec5df # v2 with: repo_token: ${{ secrets.MOAUTO_WORKFLOW_TOKEN }} file: ${{github.workspace}}/${{ matrix.asset_path }}/jans${{ matrix.asset_prefix }}${{ steps.previoustag.outputs.version }}${{ matrix.asset_suffix }}.sha256sum - asset_name: jans${{ matrix.asset_prefix }}${{ steps.previoustag.outputs.version }}${{ matrix.asset_suffix }}.sha256sum + asset_name: ${{ env.PACKAGE_PREFIX }}${{ matrix.asset_prefix }}${{ steps.previoustag.outputs.version }}${{ matrix.asset_suffix }}.sha256sum + tag: ${{ steps.previoustag.outputs.tag }} + overwrite: true + - name: Upload sig to release + id: upload_sigs + uses: svenstaro/upload-release-action@1beeb572c19a9242f4361f4cee78f8e0d9aec5df # v2 + with: + repo_token: ${{ secrets.MOAUTO_WORKFLOW_TOKEN }} + file: ${{github.workspace}}/${{ matrix.asset_path }}/jans${{ matrix.asset_prefix }}${{ steps.previoustag.outputs.version }}${{ matrix.asset_suffix }}.asc + asset_name: ${{ env.PACKAGE_PREFIX }}${{ matrix.asset_prefix }}${{ steps.previoustag.outputs.version }}${{ matrix.asset_suffix }}.asc tag: ${{ steps.previoustag.outputs.tag }} + overwrite: true build_python_packages: - runs-on: ubuntu-latest + if: github.repository == 'JanssenProject/jans' + runs-on: ubuntu-20.04 steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + - name: Checkout - uses: actions/checkout@v3 - - uses: addnab/docker-run-action@v3 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - uses: addnab/docker-run-action@4f65fabd2431ebc8d299f8e5a018d79a769ae185 # v3 name: Build with Suse continue-on-error: true with: @@ -122,153 +163,167 @@ jobs: run: | zypper addrepo https://download.opensuse.org/repositories/openSUSE:Leap:15.1/standard/openSUSE:Leap:15.1.repo zypper --gpg-auto-import-keys refresh - zypper --non-interactive install -y gcc-c++ make gcc automake autoconf libtool python3-pip python3-setuptools python3-wheel + zypper --non-interactive install -y gcc-c++ make gcc automake autoconf libtool python3-pip python3-setuptools python3-wheel openssl zypper addrepo https://download.opensuse.org/repositories/home:smarty12:Python/RaspberryPi_Leap_15.2/home:smarty12:Python.repo zypper --gpg-auto-import-keys refresh - zypper --non-interactive install -y python3-dev + zypper download python3-dev + rpm -i --nodeps /var/cache/zypp/packages/home_smarty12_Python/noarch/python3-dev-0.4.0-lp152.1.4.noarch.rpm + zypper --non-interactive install -y python3 + zypper --non-interactive install -y python3-devel echo "Building jans-linux-setup package" cd /suse/jans-linux-setup pip install shiv make zipapp mv jans-linux-setup.pyz jans-linux-suse-X86-64-setup.pyz sha256sum jans-linux-suse-X86-64-setup.pyz > jans-linux-suse-X86-64-setup.pyz.sha256sum - cd ../jans-cli + cd ../jans-cli-tui make zipapp - mv jans-cli.pyz jans-cli-linux-suse-X86-64.pyz - sha256sum jans-cli-linux-suse-X86-64.pyz > jans-cli-linux-suse-X86-64.pyz.sha256sum - # To be removed once we get SUSE build working - - uses: addnab/docker-run-action@v3 - name: Build with CentOS7 - continue-on-error: true - with: - image: centos:centos7 - options: -v ${{ github.workspace }}:/centos - run: | - yum install python36u python36u-devel python36u-pip -y - yum install gcc openssl-devel bzip2-devel libffi-devel zlib-devel -y - curl https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz --output Python-3.7.9.tgz - tar xzf Python-3.7.9.tgz - cd Python-3.7.9 - ./configure --enable-optimizations - yum install make -y - make altinstall - yum -y install epel-release - curl https://bootstrap.pypa.io/get-pip.py --output get-pip.py - python3.7 get-pip.py - echo "Building jans-linux-setup package" - cd /centos/jans-linux-setup - pip install shiv - make zipapp - mv jans-linux-setup.pyz jans-linux-X86-64-setup.pyz - sha256sum jans-linux-X86-64-setup.pyz > jans-linux-X86-64-setup.pyz.sha256sum - cd ../jans-cli - make zipapp - mv jans-cli.pyz jans-cli-linux-X86-64.pyz - sha256sum jans-cli-linux-X86-64.pyz > jans-cli-linux-X86-64.pyz.sha256sum + mv jans-cli-tui.pyz jans-cli-tui-linux-suse-X86-64.pyz + sha256sum jans-cli-tui-linux-suse-X86-64.pyz > jans-cli-tui-linux-suse-X86-64.pyz.sha256sum - name: Set up Python 3.6 - uses: actions/setup-python@v3 + uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0 with: python-version: 3.6 - name: Build with Ubuntu continue-on-error: true run: | sudo apt-get update - sudo apt-get install build-essential python3-venv python3-pip -y + sudo apt-get install -y python3 build-essential ca-certificates dbus systemd iproute2 gpg python3-pip python3-dev libpq-dev gcc python3 -m pip install --upgrade pip - pip3 install shiv + pip3 install shiv wheel setuptools echo "Building jans-linux-setup package" + sudo chown -R runner:docker /home/runner/work/jans/jans cd jans-linux-setup - make zipapp - mv jans-linux-setup.pyz jans-linux-ubuntu-X86-64-setup.pyz - sha256sum jans-linux-ubuntu-X86-64-setup.pyz > jans-linux-ubuntu-X86-64-setup.pyz.sha256sum - cd ../jans-cli + make zipapp || echo "Creating linux setup failed for ubuntu" + mv jans-linux-setup.pyz jans-linux-ubuntu-X86-64-setup.pyz || echo "Failed" + sha256sum jans-linux-ubuntu-X86-64-setup.pyz > jans-linux-ubuntu-X86-64-setup.pyz.sha256sum || echo "Failed" + cd ../jans-cli-tui make zipapp - mv jans-cli.pyz jans-cli-linux-ubuntu-X86-64.pyz - sha256sum jans-cli-linux-ubuntu-X86-64.pyz > jans-cli-linux-ubuntu-X86-64.pyz.sha256sum - - uses: actions/cache@v3 + mv jans-cli-tui.pyz jans-cli-tui-linux-ubuntu-X86-64.pyz + sha256sum jans-cli-tui-linux-ubuntu-X86-64.pyz > jans-cli-tui-linux-ubuntu-X86-64.pyz.sha256sum + - uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0 id: cache-installers with: path: | - ${{github.workspace}}/jans-linux-setup/jans-linux-X86-64-setup.pyz - ${{github.workspace}}/jans-linux-setup/jans-linux-X86-64-setup.pyz.sha256sum ${{github.workspace}}/jans-linux-setup/jans-linux-suse-X86-64-setup.pyz ${{github.workspace}}/jans-linux-setup/jans-linux-suse-X86-64-setup.pyz.sha256sum ${{github.workspace}}/jans-linux-setup/jans-linux-ubuntu-X86-64-setup.pyz ${{github.workspace}}/jans-linux-setup/jans-linux-ubuntu-X86-64-setup.pyz.sha256sum - ${{github.workspace}}/jans-cli/jans-cli-linux-X86-64.pyz - ${{github.workspace}}/jans-cli/jans-cli-linux-X86-64.pyz.sha256sum - ${{github.workspace}}/jans-cli/jans-cli-linux-suse-X86-64.pyz - ${{github.workspace}}/jans-cli/jans-cli-linux-suse-X86-64.pyz.sha256sum - ${{github.workspace}}/jans-cli/jans-cli-linux-ubuntu-X86-64.pyz - ${{github.workspace}}/jans-cli/jans-cli-linux-ubuntu-X86-64.pyz.sha256sum + ${{github.workspace}}/jans-cli-tui/jans-cli-tui-linux-suse-X86-64.pyz + ${{github.workspace}}/jans-cli-tui/jans-cli-tui-linux-suse-X86-64.pyz.sha256sum + ${{github.workspace}}/jans-cli-tui/jans-cli-tui-linux-ubuntu-X86-64.pyz + ${{github.workspace}}/jans-cli-tui/jans-cli-tui-linux-ubuntu-X86-64.pyz.sha256sum key: ${{ github.sha }} - upload_python_packages: + if: github.repository == 'JanssenProject/jans' needs: build_python_packages - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 strategy: matrix: - name: [centos, ubuntu, suse] + name: [ubuntu, suse] steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + - name: Checkout - uses: actions/checkout@v3 - - uses: actions/cache@v3 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0 id: cache-installers with: path: | - ${{github.workspace}}/jans-linux-setup/jans-linux-X86-64-setup.pyz - ${{github.workspace}}/jans-linux-setup/jans-linux-X86-64-setup.pyz.sha256sum ${{github.workspace}}/jans-linux-setup/jans-linux-suse-X86-64-setup.pyz ${{github.workspace}}/jans-linux-setup/jans-linux-suse-X86-64-setup.pyz.sha256sum ${{github.workspace}}/jans-linux-setup/jans-linux-ubuntu-X86-64-setup.pyz ${{github.workspace}}/jans-linux-setup/jans-linux-ubuntu-X86-64-setup.pyz.sha256sum - ${{github.workspace}}/jans-cli/jans-cli-linux-X86-64.pyz - ${{github.workspace}}/jans-cli/jans-cli-linux-X86-64.pyz.sha256sum - ${{github.workspace}}/jans-cli/jans-cli-linux-suse-X86-64.pyz - ${{github.workspace}}/jans-cli/jans-cli-linux-suse-X86-64.pyz.sha256sum - ${{github.workspace}}/jans-cli/jans-cli-linux-ubuntu-X86-64.pyz - ${{github.workspace}}/jans-cli/jans-cli-linux-ubuntu-X86-64.pyz.sha256sum + ${{github.workspace}}/jans-cli-tui/jans-cli-tui-linux-suse-X86-64.pyz + ${{github.workspace}}/jans-cli-tui/jans-cli-tui-linux-suse-X86-64.pyz.sha256sum + ${{github.workspace}}/jans-cli-tui/jans-cli-tui-linux-ubuntu-X86-64.pyz + ${{github.workspace}}/jans-cli-tui/jans-cli-tui-linux-ubuntu-X86-64.pyz.sha256sum key: ${{ github.sha }} - name: Get latest tag id: previoustag run: | - echo "::set-output name=tag::$(curl https://api.github.com/repos/${{ github.repository }}/releases -s | grep "tag_name" | cut -d '"' -f 4 | grep -o '^\v.*' | head -n 1)" - - name: Print Version + echo "version=$(echo ${{ github.event.ref }} | cut -d 'v' -f 2)" >> $GITHUB_OUTPUT + echo "tag=$(echo ${{ github.event.ref }} | cut -d '/' -f 3)" >> $GITHUB_OUTPUT + echo "SETUP_PREFIX=jans-linux" >> ${GITHUB_ENV} + echo "TUI_PREFIX=jans-cli-tui-linux" >> ${GITHUB_ENV} + echo "PACKAGE_PREFIX=jans" >> ${GITHUB_ENV} + + - name: Print Version and tag run: | - echo "${{ steps.previoustag.outputs.tag }}" + echo "Version: ${{ steps.previoustag.outputs.version }}" + echo "Tag: ${{ github.event.ref }}" - name: Upload binaries to release id: upload_binaries_setup continue-on-error: true - uses: svenstaro/upload-release-action@v2 + uses: svenstaro/upload-release-action@1beeb572c19a9242f4361f4cee78f8e0d9aec5df # v2 with: repo_token: ${{ secrets.MOAUTO_WORKFLOW_TOKEN }} file: ${{github.workspace}}/jans-linux-setup/jans-linux-${{ matrix.name }}-X86-64-setup.pyz - asset_name: jans-linux-${{ matrix.name }}-X86-64-setup.pyz + asset_name: ${{ env.SETUP_PREFIX }}-${{ matrix.name }}-X86-64-setup.pyz tag: ${{ steps.previoustag.outputs.tag }} + overwrite: true - name: Upload checksum to release id: upload_shas_setup continue-on-error: true - uses: svenstaro/upload-release-action@v2 + uses: svenstaro/upload-release-action@1beeb572c19a9242f4361f4cee78f8e0d9aec5df # v2 with: repo_token: ${{ secrets.MOAUTO_WORKFLOW_TOKEN }} file: ${{github.workspace}}/jans-linux-setup/jans-linux-${{ matrix.name }}-X86-64-setup.pyz.sha256sum - asset_name: jans-linux-${{ matrix.name }}-X86-64-setup.pyz.sha256sum + asset_name: ${{ env.SETUP_PREFIX }}-${{ matrix.name }}-X86-64-setup.pyz.sha256sum tag: ${{ steps.previoustag.outputs.tag }} + overwrite: true - name: Upload binaries to release id: upload_binaries_cli continue-on-error: true - uses: svenstaro/upload-release-action@v2 + uses: svenstaro/upload-release-action@1beeb572c19a9242f4361f4cee78f8e0d9aec5df # v2 with: repo_token: ${{ secrets.MOAUTO_WORKFLOW_TOKEN }} - file: ${{github.workspace}}/jans-cli/jans-cli-linux-${{ matrix.name }}-X86-64.pyz - asset_name: jans-cli-linux-${{ matrix.name }}-X86-64.pyz + file: ${{github.workspace}}/jans-cli-tui/jans-cli-tui-linux-${{ matrix.name }}-X86-64.pyz + asset_name: ${{ env.TUI_PREFIX }}-${{ matrix.name }}-X86-64.pyz tag: ${{ steps.previoustag.outputs.tag }} + overwrite: true - name: Upload checksum to release id: upload_shas_cli continue-on-error: true - uses: svenstaro/upload-release-action@v2 + uses: svenstaro/upload-release-action@1beeb572c19a9242f4361f4cee78f8e0d9aec5df # v2 with: repo_token: ${{ secrets.MOAUTO_WORKFLOW_TOKEN }} - file: ${{github.workspace}}/jans-cli/jans-cli-linux-${{ matrix.name }}-X86-64.pyz.sha256sum - asset_name: jans-cli-linux-${{ matrix.name }}-X86-64.pyz.sha256sum + file: ${{github.workspace}}/jans-cli-tui/jans-cli-tui-linux-${{ matrix.name }}-X86-64.pyz.sha256sum + asset_name: ${{ env.TUI_PREFIX }}-${{ matrix.name }}-X86-64.pyz.sha256sum tag: ${{ steps.previoustag.outputs.tag }} + overwrite: true + build_demo_packages: + if: github.repository == 'JanssenProject/jans' + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - name: Checkout + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - name: Build with Ubuntu + continue-on-error: true + run: | + sudo apt-get update + sudo apt-get install -y zip + cd demos + VER=$(echo ${{ github.event.ref }} | cut -d '/' -f 3) + for i in $(ls -d */); do zip -r demo-${i%/}-$VER-source.zip $i && sha256sum demo-${i%/}-$VER-source.zip > demo-${i%/}-$VER-source.zip.sha256sum; done + sudo rm demo-jans-tarp-$VER-source.zip demo-jans-tarp-$VER-source.zip.sha256sum + cd jans-tarp + npm install + npm run build + npm run pack + mv ./release/jans-tarp-chrome-*.zip ../demo-jans-tarp-chrome-$VER.zip + mv ./release/jans-tarp-firefox-*.zip ../demo-jans-tarp-firefox-$VER.zip + sha256sum ../demo-jans-tarp-chrome-$VER.zip > ../demo-jans-tarp-chrome-$VER.zip.sha256sum + sha256sum ../demo-jans-tarp-firefox-$VER.zip > ../demo-jans-tarp-firefox-$VER.zip.sha256sum + cd .. + + echo "${{ secrets.MOAUTO_WORKFLOW_TOKEN }}" | gh auth login --with-token + gh release upload $VER *.zip *.sha256sum --clobber \ No newline at end of file diff --git a/.github/workflows/build-wars.yml b/.github/workflows/build-wars.yml new file mode 100644 index 00000000000..8446be62283 --- /dev/null +++ b/.github/workflows/build-wars.yml @@ -0,0 +1,100 @@ +name: Build Wars +on: + workflow_dispatch: + pull_request: + branches: + - main + paths: + - 'jans-keycloak-integration/**' + - 'jans-keycloak-link/**' + - 'agama/**' + - 'jans-auth-server/**' + - 'jans-lock/**' + - 'jans-bom/**' + - 'jans-config-api/**' + - 'jans-core/**' + - 'jans-fido2/**' + - 'jans-orm/**' + - 'jans-scim/**' + - 'jans-link/**' + + push: + branches: + - main + paths: + - 'jans-keycloak-integration/**' + - 'jans-keycloak-link/**' + - 'agama/**' + - 'jans-auth-server/**' + - 'jans-lock/**' + - 'jans-bom/**' + - 'jans-config-api/**' + - 'jans-core/**' + - 'jans-fido2/**' + - 'jans-orm/**' + - 'jans-scim/**' + - 'jans-link/**' +jobs: + build: + if: github.repository == 'JanssenProject/jans' + name: Build wars + runs-on: ubuntu-latest + continue-on-error: true + strategy: + max-parallel: 11 + matrix: + fldrpath: ['jans-bom','agama','jans-fido2','jans-core','jans-auth-server','jans-orm','jans-config-api','jans-scim','jans-keycloak-integration','jans-link','jans-keycloak-link','jans-lock'] + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - name : Variables + run: | + echo ${{ github.repository }} + echo ${{ github.actor }} + + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + repository: ${{ github.repository }} + + - name: find changed directories + run: | + if [ $GITHUB_BASE_REF ]; then + # Pull Request + echo "Triggerring event: pull request" + echo Pull request base ref: $GITHUB_BASE_REF + git fetch origin $GITHUB_BASE_REF --depth=1 + if [ ${{ github.event.action }} = "opened" ]; then + echo "Triggerring action: opened" + echo "DIRECTORIES_CHANGED=$( git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} | cut -d/ -f1 | sort -u | sed -z 's/\n/,/g;s/^/[/;s/,$/]/;s/$/\n/')" >> ${GITHUB_ENV} + fi + if [ ${{ github.event.action }} = "synchronize" ]; then + echo "Triggerring action: synchronize" + echo "DIRECTORIES_CHANGED=$( git diff --name-only ${{ github.event.before }} ${{ github.event.pull_request.head.sha }} | cut -d/ -f1 | sort -u | sed -z 's/\n/,/g;s/^/[/;s/,$/]/;s/$/\n/')" >> ${GITHUB_ENV} + fi + else + # Push + echo "Triggerring event: push" + git fetch origin ${{ github.event.before }} --depth=1 + echo "DIRECTORIES_CHANGED=$( git diff --name-only ${{ github.event.before }} ${{ github.sha }} | cut -d/ -f1 | sort -u | sed -z 's/\n/,/g;s/^/[/;s/,$/]/;s/$/\n/')" >> ${GITHUB_ENV} + fi + echo "$DIRECTORIES_CHANGED" + + - uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4.0.0 + if: contains(env.DIRECTORIES_CHANGED, matrix.fldrpath) + with: + java-version: '17' + distribution: 'zulu' + + - name: Publish package + if: contains(env.DIRECTORIES_CHANGED, matrix.fldrpath) + env: + GITHUB_USERNAME: ${{ github.actor }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + pwd + mvn clean install -DskipTests --file ${{ matrix.fldrpath }} + mvn -B package --file ${{ matrix.fldrpath }}/pom.xml -Dmaven.test.skip=true + mvn --file ${{ matrix.fldrpath }}/pom.xml deploy -Dmaven.test.skip=true diff --git a/.github/workflows/central_code_quality_check.yml b/.github/workflows/central_code_quality_check.yml index ede51beb702..66284080304 100644 --- a/.github/workflows/central_code_quality_check.yml +++ b/.github/workflows/central_code_quality_check.yml @@ -6,28 +6,54 @@ name: Code quality check on: push: branches: - - master - main - - "!update-pycloud-in-**" - paths-ignore: - - 'docker-jans-**/CHANGELOG.md' - - 'docker-jans-**/version.txt' - - 'jans-pycloudlib/CHANGELOG.md' - - 'jans-pycloudlib/jans/pycloudlib/version.py' - - '**.md' + - '!update-pycloud-in-**' + paths: + - 'jans-link/**' + - 'jans-keycloak-integration/**' + - 'jans-keycloak-link/**' + - 'jans-auth-server/**' + - 'jans-lock/**' + - 'jans-orm/**' + - 'jans-config-api/**' + - 'jans-scim/**' + - 'jans-core/**' + - 'jans-fido2/**' + - 'agama/**' + - 'jans-linux-setup/**' + - 'jans-cli-tui/**' + - 'jans-pycloudlib/**' + - 'jans-casa/**' + - '!**/CHANGELOG.md' + - '!**.txt' - # TODO: Optimize so that workflow is only triggered for `opened` and `synchronize` actions pull_request: branches: - master - main - - "!update-pycloud-in-**" - paths-ignore: - - 'docker-jans-**/CHANGELOG.md' - - 'docker-jans-**/version.txt' - - 'jans-pycloudlib/CHANGELOG.md' - - 'jans-pycloudlib/jans/pycloudlib/version.py' - - '**.md' + - '!update-pycloud-in-**' + types: + - opened + - synchronize + paths: + - 'jans-link/**' + - 'jans-keycloak-integration/**' + - 'jans-keycloak-link/**' + - 'jans-auth-server/**' + - 'jans-lock/**' + - 'jans-orm/**' + - 'jans-config-api/**' + - 'jans-scim/**' + - 'jans-core/**' + - 'jans-fido2/**' + - 'agama/**' + - 'jans-linux-setup/**' + - 'jans-cli-tui/**' + - 'jans-pycloudlib/**' + - 'jans-casa/**' + - '!**/CHANGELOG.md' + - '!**.txt' + workflow_dispatch: jobs: @@ -37,27 +63,34 @@ jobs: strategy: fail-fast: false matrix: - module: [jans-auth-server, jans-config-api, jans-core, jans-linux-setup, jans-cli, jans-client-api, jans-fido2, jans-notify, jans-orm, jans-scim, jans-eleven, jans-pycloudlib, super-jans] + module: [jans-keycloak-link, jans-keycloak-integration, jans-auth-server, agama, jans-config-api, jans-core, jans-linux-setup, jans-cli-tui, jans-fido2, jans-orm, jans-scim, jans-pycloudlib, jans-link, jans-casa, jans-lock] env: JVM_PROJECTS: | + jans-keycloak-integration + jans-keycloak-link + jans-link jans-auth-server + jans-lock jans-orm jans-config-api - jans-client-api jans-scim jans-core - jans-notify jans-fido2 - jans-eleven + jans-casa + agama NON_JVM_PROJECTS: | jans-linux-setup - jans-cli + jans-cli-tui jans-pycloudlib - super-jans steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + - name: check out code - uses: actions/checkout@v3 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 with: fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of sonarqube analysis @@ -65,15 +98,15 @@ jobs: run: | if [ $GITHUB_BASE_REF ]; then # Pull Request - echo "Triggerring event: pull request" + echo "Triggering event: pull request" echo Pull request base ref: $GITHUB_BASE_REF git fetch origin $GITHUB_BASE_REF --depth=1 if [ ${{ github.event.action }} = "opened" ]; then - echo "Triggerring action: opened" + echo "Triggering action: opened" echo "CHANGED_DIR=$( git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} | cut -d/ -f1 | sort -u | sed -z 's/\n/,/g;s/^/[/;s/,$/]/;s/$/\n/')" >> ${GITHUB_ENV} fi if [ ${{ github.event.action }} = "synchronize" ]; then - echo "Triggerring action: synchronize" + echo "Triggering action: synchronize" echo "CHANGED_DIR=$( git diff --name-only ${{ github.event.before }} ${{ github.event.pull_request.head.sha }} | cut -d/ -f1 | sort -u | sed -z 's/\n/,/g;s/^/[/;s/,$/]/;s/$/\n/')" >>${GITHUB_ENV} fi else @@ -93,26 +126,26 @@ jobs: echo event before: ${{ github.event.before }} echo GH sha: $GITHUB_SHA - - name: Set up JDK 11 - # JanssenProject/jans-cli is too similar to JanssenProject/jans-client-api as the contains function is returning it belonging to the JVM_PROJECT - if: contains(env.CHANGED_DIR, matrix.module) && contains(env.JVM_PROJECTS, matrix.module) && matrix.module != 'jans-cli' - uses: actions/setup-java@v3 + - name: Set up JDK 17 + # JanssenProject/jans-cli-tui is too similar to JanssenProject/jans-client-api as the contains function is returning it belonging to the JVM_PROJECT + if: contains(env.CHANGED_DIR, matrix.module) && contains(env.JVM_PROJECTS, matrix.module) && matrix.module != 'jans-cli-tui' + uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4.0.0 with: - java-version: '11' + java-version: '17' distribution: 'adopt' - name: Cache SonarCloud packages for JVM based project - # JanssenProject/jans-cli is too similar to JanssenProject/jans-client-api as the contains function is returning it belonging to the JVM_PROJECT - if: contains(env.CHANGED_DIR, matrix.module) && contains(env.JVM_PROJECTS, matrix.module) && matrix.module != 'jans-cli' - uses: actions/cache@v3 + # JanssenProject/jans-cli-tui is too similar to JanssenProject/jans-client-api as the contains function is returning it belonging to the JVM_PROJECT + if: contains(env.CHANGED_DIR, matrix.module) && contains(env.JVM_PROJECTS, matrix.module) && matrix.module != 'jans-cli-tui' + uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0 with: path: ~/.sonar/cache key: ${{ runner.os }}-sonar restore-keys: ${{ runner.os }}-sonar - name: Build and analyze JVM based project - # JanssenProject/jans-cli is too similar to JanssenProject/jans-client-api as the contains function is returning it belonging to the JVM_PROJECT - if: contains(env.CHANGED_DIR, matrix.module) && contains(env.JVM_PROJECTS, matrix.module) && matrix.module != 'jans-cli' + # JanssenProject/jans-cli-tui is too similar to JanssenProject/jans-client-api as the contains function is returning it belonging to the JVM_PROJECT + if: contains(env.CHANGED_DIR, matrix.module) && contains(env.JVM_PROJECTS, matrix.module) && matrix.module != 'jans-cli-tui' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} @@ -121,12 +154,10 @@ jobs: case ${{ matrix.module }} in "jans-auth-server") ;& - "jans-client-api") - ;& + "jans-lock") + ;& "jans-scim") ;& - "jans-eleven") - ;& "jans-config-api") echo "Run Sonar analysis without test execution" mvn -B -DskipTests=true install org.sonarsource.scanner.maven:sonar-maven-plugin:sonar @@ -147,7 +178,7 @@ jobs: - name: SonarCloud Scan for non-JVM project if: contains(env.CHANGED_DIR, matrix.module) && contains(env.NON_JVM_PROJECTS, matrix.module) - uses: SonarSource/sonarcloud-github-action@master + uses: SonarSource/sonarcloud-github-action@49e6cd3b187936a73b8280d59ffd9da69df63ec9 # master with: args: > -Dsonar.organization=${{ env.REPO_ORG }} diff --git a/.github/workflows/clean_github_cache.yml b/.github/workflows/clean_github_cache.yml new file mode 100644 index 00000000000..b2bfb70f57d --- /dev/null +++ b/.github/workflows/clean_github_cache.yml @@ -0,0 +1,39 @@ +name: cleanup caches by a branch +on: + pull_request: + types: + - closed + workflow_dispatch: + +jobs: + cleanup: + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - name: Check out code + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + + - name: Cleanup + run: | + gh extension install actions/gh-actions-cache + + REPO=${{ github.repository }} + BRANCH="refs/pull/${{ github.event.pull_request.number }}/merge" + + echo "Fetching list of cache key" + cacheKeysForPR=$(gh actions-cache list -R $REPO -B $BRANCH | cut -f 1 ) + + ## Setting this to not fail the workflow while deleting cache keys. + set +e + echo "Deleting caches..." + for cacheKey in $cacheKeysForPR + do + gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm + done + echo "Done" + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index a50dc03f2a6..dcaecab3e91 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -7,7 +7,7 @@ name: "CodeQL" on: push: - branches: [master] + branches: [main] paths: - "jans-pycloudlib/jans/**" - "jans-pycloudlib/tests/**" @@ -17,7 +17,7 @@ on: - "!**.md" pull_request: # The branches below must be a subset of the branches above - branches: [master] + branches: [main] paths: - "jans-pycloudlib/jans/**" - "jans-pycloudlib/tests/**" @@ -26,8 +26,15 @@ on: - "!jans-pycloudlib/jans/pycloudlib/version.py" - "!**.md" +permissions: + contents: read + jobs: analyze: + permissions: + actions: read # for github/codeql-action/init to get workflow details + contents: read # for actions/checkout to fetch code + security-events: write # for github/codeql-action/autobuild to send a status report name: Analyze runs-on: ubuntu-latest @@ -41,12 +48,17 @@ jobs: # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -58,7 +70,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v2 + uses: github/codeql-action/autobuild@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7 # ℹī¸ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -72,4 +84,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7 diff --git a/.github/workflows/commit-check.yml b/.github/workflows/commit-check.yml deleted file mode 100644 index a098bfe8257..00000000000 --- a/.github/workflows/commit-check.yml +++ /dev/null @@ -1,88 +0,0 @@ -# Please do not attempt to edit this flow without the direct consent from the DevOps team. This file is managed centrally. -# Contact @moabu -name: 'Commit Message Check' -on: - pull_request: - branches-ignore: - - "update-pycloud-in-**" - types: - - opened - - edited - - reopened - - synchronize - paths: - - "!docker-jans-**/CHANGELOG.md" - - "!docker-jans-**/version.txt" - - "!jans-pycloudlib/CHANGELOG.md" - - "!jans-pycloudlib/jans/pycloudlib/version.py" - pull_request_target: - branches-ignore: - - "update-pycloud-in-**" - types: - - opened - - edited - - reopened - - synchronize - paths: - - "!docker-jans-**/CHANGELOG.md" - - "!docker-jans-**/version.txt" - - "!jans-pycloudlib/CHANGELOG.md" - - "!jans-pycloudlib/jans/pycloudlib/version.py" - push: - branches-ignore: - - "update-pycloud-in-**" - paths: - - "!docker-jans-**/CHANGELOG.md" - - "!docker-jans-**/version.txt" - - "!jans-pycloudlib/CHANGELOG.md" - - "!jans-pycloudlib/jans/pycloudlib/version.py" - -jobs: - check-commit-message: - name: Check Commit Message - runs-on: ubuntu-latest - steps: - - name: Checkout Project - uses: actions/checkout@v3 - with: - # We need to fetch with a depth of 2 for pull_request so we can do HEAD^2 - fetch-depth: 2 - - - uses: actions/setup-node@v3 - with: - node-version: 14 - - run: | - npm install --save-dev @commitlint/{config-conventional,cli} - echo "module.exports = {extends: ['@commitlint/config-conventional']};" > commitlint.config.js - # If this workflow was triggered by a push then resolve the commit message from HEAD - - name: "[Push] Check Commit Standard" - if: github.event_name == 'push' || github.event_name == 'pull_request_target' - id: push_get_commit_message - run: | - git log --format=%B -n 1 HEAD | npx commitlint |& tee -a output.txt - echo "::set-output name=errormsg::$(tr -d "\n\r" < output.txt)" - git log --format=%B -n 1 HEAD | npx commitlint - continue-on-error: true - - # If this workflow was triggered by a pull request (open or synchronize!) then resolve the commit message from HEAD^2 - - name: "[Pull Request] Check Commit Standard" - if: github.event_name == 'pull_request' - id: pr_get_commit_message - run: | - git log --format=%B -n 1 HEAD^2 | npx commitlint |& tee -a output.txt - echo "::set-output name=errormsg::$(tr -d "\n\r" < output.txt)" - git log --format=%B -n 1 HEAD^2 | npx commitlint - continue-on-error: true - - - name: "[Push] Report Commit Standard Status" - if: steps.push_get_commit_message.outcome != 'success' && github.event_name == 'push' - run: | - curl -X POST -H 'Content-Type: application/json' --data '{"alias":"Mo-Auto","emoji":":robot:","text":":x: :cry: I am reporting a bad [commit](https://github.com/${{github.repository}}/commit/${{github.sha}}) by :thinking_face: @${{github.actor}} :x:","attachments":[{"title":"GitHub user behavior reporter","title_link":"https://www.conventionalcommits.org","text":"We are not too happy with your last [commit](https://github.com/${{github.repository}}/commit/${{github.sha}}). Here is why : ${{ steps.push_get_commit_message.outputs.errormsg }}","color":"#764FA5"}]}' ${{ secrets.GITHUBUSERBEHAVIORROCKETCHATREPORTER }} - exit 1 - - - name: "[Pull Request] Report Commit Standard Status" - if: steps.pr_get_commit_message.outcome != 'success' && github.event_name == 'pull_request' - run: | - curl -X POST -H 'Content-Type: application/json' --data '{"alias":"Mo-Auto","emoji":":robot:","text":":x: :cry: I am reporting a bad [commit](https://github.com/${{github.repository}}/tree/${{github.head_ref}}) by :thinking_face: @${{github.actor}} :x:","attachments":[{"title":"GitHub user behavior reporter","title_link":"https://www.conventionalcommits.org","text":"We are not too happy with your last commit merging into https://github.com/${{github.repository}}/tree/${{github.base_ref}}. Here is why : ${{ steps.pr_get_commit_message.outputs.errormsg }}","color":"#764FA5"}]}' ${{ secrets.GITHUBUSERBEHAVIORROCKETCHATREPORTER }} - exit 1 - diff --git a/.github/workflows/delete_workflow_runs.yml b/.github/workflows/delete_workflow_runs.yml new file mode 100644 index 00000000000..fd3137becc7 --- /dev/null +++ b/.github/workflows/delete_workflow_runs.yml @@ -0,0 +1,21 @@ +name: Delete old workflow runs +on: + schedule: + - cron: '0 0 */2 * *' + workflow_dispatch: +jobs: + del_runs: + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - name: Delete workflow runs + uses: Mattraks/delete-workflow-runs@39f0bbed25d76b34de5594dceab824811479e5de # v2.0.6 + with: + token: ${{ github.token }} + repository: ${{ github.repository }} + retain_days: 2 + keep_minimum_runs: 2 diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml new file mode 100644 index 00000000000..7e863bcc2a3 --- /dev/null +++ b/.github/workflows/dependency-review.yml @@ -0,0 +1,27 @@ +# Dependency Review Action +# +# This Action will scan dependency manifest files that change as part of a Pull Request, +# surfacing known-vulnerable versions of the packages declared or updated in the PR. +# Once installed, if the workflow run is marked as required, +# PRs introducing known-vulnerable packages will be blocked from merging. +# +# Source repository: https://github.com/actions/dependency-review-action +name: 'Dependency Review' +on: [pull_request] + +permissions: + contents: read + +jobs: + dependency-review: + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - name: 'Checkout Repository' + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - name: 'Dependency Review' + uses: actions/dependency-review-action@4901385134134e04cec5fbe5ddfe3b2c5bd5d976 # v4.0.0 diff --git a/.github/workflows/docker_build_image.yml b/.github/workflows/docker_build_image.yml index 697da9584b0..6e8895316c8 100644 --- a/.github/workflows/docker_build_image.yml +++ b/.github/workflows/docker_build_image.yml @@ -1,18 +1,20 @@ name: Build and Publish Releases to Hub on: + schedule: + - cron: "0 23 * * *" push: tags: - "*" branches: # below branch is triggered by jenkins which triggers dev image - update-source-build-date + - main paths: - "docker-jans-**/**" - "!**.md" pull_request: branches: - - master - main # below branch is triggered by jenkins which triggers dev image - update-source-build-dates @@ -21,16 +23,12 @@ on: - "!docker-jans-**/CHANGELOG.md" - "!docker-jans-**/version.txt" - "!**.md" - pull_request_target: - branches: - # below protected branches prefix only allows internal teams to push to it - - cn-* workflow_dispatch: inputs: services: - description: 'One or set of the docker images. Format as following: "docker-jans-auth-server docker-jans-certmanager docker-jans-client-api docker-jans-config-api docker-jans-configurator docker-jans-fido2 docker-jans-persistence-loader docker-jans-scim"' + description: 'One or set of the docker images. Format as following: "docker-jans-auth-server docker-jans-certmanager docker-jans-config-api docker-jans-configurator docker-jans-fido2 docker-jans-persistence-loader docker-jans-scim docker-jans-monolith docker-jans-loadtesting-jmeter docker-jans-link docker-jans-casa docker-jans-all-in-one docker-jans-saml docker-jans-keycloak-link docker-jans-kc-scheduler"' required: true - default: 'docker-jans-auth-server docker-jans-certmanager docker-jans-client-api docker-jans-config-api docker-jans-configurator docker-jans-fido2 docker-jans-persistence-loader docker-jans-scim' + default: 'docker-jans-auth-server docker-jans-certmanager docker-jans-config-api docker-jans-configurator docker-jans-fido2 docker-jans-persistence-loader docker-jans-scim docker-jans-monolith docker-jans-loadtesting-jmeter docker-jans-link docker-jans-casa docker-jans-all-in-one docker-jans-saml docker-jans-keycloak-link docker-jans-kc-scheduler' cn_version: description: 'The war version to build the image off' required: false @@ -43,19 +41,36 @@ on: description: 'Tags' required: false +permissions: + contents: read + jobs: docker: + permissions: + packages: write + id-token: write runs-on: ubuntu-latest strategy: max-parallel: 8 matrix: - docker-images: ["auth-server", "certmanager", "config-api", "client-api", "configurator", "fido2", "persistence-loader", "scim"] + docker-images: ["auth-server", "certmanager", "config-api", "configurator", "fido2", "persistence-loader", "scim", "monolith", "loadtesting-jmeter", "link", "casa", "all-in-one", "saml", "keycloak-link", "kc-scheduler"] steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - name: Install Cosign + uses: sigstore/cosign-installer@v3.5.0 + - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 with: fetch-depth: 0 - + sparse-checkout: | + docker-jans-${{ matrix.docker-images }} + automation + demos - name: Check docker directories that changed id: build_docker_image run: | @@ -63,15 +78,16 @@ jobs: DEFAULT_ALL=${{ github.event.inputs.services }} if [ -z "$DEFAULT_ALL" ] then - DEFAULT_ALL="docker-jans-auth-server docker-jans-certmanager docker-jans-client-api docker-jans-config-api docker-jans-configurator docker-jans-fido2 docker-jans-persistence-loader docker-jans-scim" + DEFAULT_ALL="docker-jans-auth-server docker-jans-certmanager docker-jans-config-api docker-jans-configurator docker-jans-fido2 docker-jans-persistence-loader docker-jans-scim docker-jans-monolith docker-jans-loadtesting-jmeter docker-jans-link docker-jans-casa docker-jans-all-in-one docker-jans-saml docker-jans-keycloak-link docker-jans-kc-scheduler" else echo "$DEFAULT_ALL" fi # Detect actual docker folders that changed if error arises default to all images - DIRECTORIES_CHANGED=$(git diff --name-only ${{ github.event.before }} ${{ github.sha }} | cut -d/ -f1 | sort -u | grep "docker-jans" || echo "$DEFAULT_ALL") + pull_number=$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH") + DIRECTORIES_CHANGED=$(gh pr view $pull_number --json files --jq '.files.[].path' | cut -d/ -f1 | sort -u | grep "docker-jans" || echo "$DEFAULT_ALL") if [[ "$DIRECTORIES_CHANGED" =~ "${{ matrix.docker-images }}" ]]; then - echo "A change in this images directory has occured" - echo ::set-output name=build::${BUILD} + echo "A change in this images directory has occurred" + echo "build=${BUILD}" >> $GITHUB_OUTPUT fi - name: Install dependencies @@ -88,8 +104,13 @@ jobs: if: steps.build_docker_image.outputs.build || github.event_name == 'tags' id: prep run: | - MAIN_VERSION=$(python3 -c "from dockerfile_parse import DockerfileParser ; dfparser = DockerfileParser('./docker-jans-${{ matrix.docker-images }}') ; print(dfparser.labels['version'])") - DOCKER_IMAGE=janssenproject/${{ matrix.docker-images }} + REPOSITORY=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') + DOCKER_FILE_LOCATION=./docker-jans-${{ matrix.docker-images }} + if [[ "loadtesting-jmeter" =~ "${{ matrix.docker-images }}" ]]; then + DOCKER_FILE_LOCATION=./demos/benchmarking/docker-jans-loadtesting-jmeter + fi + MAIN_VERSION=$(python3 -c "from dockerfile_parse import DockerfileParser ; dfparser = DockerfileParser('$DOCKER_FILE_LOCATION') ; print(dfparser.labels['org.opencontainers.image.version'])") + DOCKER_IMAGE=ghcr.io/$REPOSITORY/${{ matrix.docker-images }} VERSION=${MAIN_VERSION}_dev BUILD=true if [[ $GITHUB_REF == refs/tags/docker-jans-${{ matrix.docker-images }}-* ]]; then @@ -107,7 +128,8 @@ jobs: if [ ! -z "$MANUAL_IMAGE_TAG" ] then TAGS="$TAGS,${DOCKER_IMAGE}:${MANUAL_IMAGE_TAG}" - echo "Manual image tag has been inputed by the user" + VERSION=$MANUAL_IMAGE_TAG + echo "Manual image tag has been inputted by the user" else echo "$TAGS" fi @@ -116,22 +138,33 @@ jobs: if [ ! -z "$CN_VERSION" ] then python3 -c "from dockerfile_parse import DockerfileParser ; dfparser = DockerfileParser('./docker-jans-${{ matrix.docker-images }}') ; dfparser.envs['CN_VERSION'] = '${{ github.event.inputs.cn_version }}'" - echo "War vesrion has been modified." + echo "War version has been modified." else echo "$CN_VERSION" fi - echo ::set-output name=tags::${TAGS} - echo ::set-output name=build::${BUILD} + echo "tags=${TAGS}" >> $GITHUB_OUTPUT + echo "build=${BUILD}" >> $GITHUB_OUTPUT + echo "dockerfilelocation=${DOCKER_FILE_LOCATION}" >> $GITHUB_OUTPUT + # wait for all images in DEFAULT_ALL to be built before building the all-in-one image as it depends on all other images + if [[ "docker-jans-all-in-one" =~ "${{ matrix.docker-images }}" ]]; then + if [[ ${{ github.event_name != 'pull_request' }} ]]; then + TEMP_IMG="auth-server certmanager config-api configurator fido2 persistence-loader scim monolith loadtesting-jmeter link casa saml keycloak-link kc-scheduler" + for i in $TEMP_IMG; do + echo "Waiting for $i to be built" + sleep 30 + done + fi + fi # UPDATE BUILD DATES INSIDE THE DOCKERFILE BEFORE BUILDING THE DEV IMAGES TRIGGERED BY JENKINS - name: Setup Python 3.7 - if: github.event_name == 'workflow_dispatch' - uses: actions/setup-python@v2.3.2 + if: github.event_name == 'workflow_dispatch' && ${{ matrix.docker-images }} != 'loadtesting-jmeter' + uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0 with: python-version: 3.7 - name: Install Python dependencies - if: github.event_name == 'workflow_dispatch' + if: github.event_name == 'workflow_dispatch' && ${{ matrix.docker-images }} != 'loadtesting-jmeter' run: | sudo apt-get update sudo python3 -m pip install --upgrade pip @@ -141,7 +174,7 @@ jobs: sudo apt-get install jq - name: Update Build date in Dockerfile - if: github.event_name == 'workflow_dispatch' + if: github.event_name == 'workflow_dispatch' && ${{ matrix.docker-images }} != 'loadtesting-jmeter' id: update_build_date_in_dockerfile run: | sudo python3 ./automation/auto_update_build_date.py @@ -149,7 +182,7 @@ jobs: - name: Set up QEMU if: steps.build_docker_image.outputs.build && steps.prep.outputs.build - uses: docker/setup-qemu-action@master + uses: docker/setup-qemu-action@5306bad0baa6b616b9934712d4eba8da2112606d # master with: image: tonistiigi/binfmt:master platforms: all @@ -157,32 +190,26 @@ jobs: - name: Set up Docker Buildx if: steps.build_docker_image.outputs.build && steps.prep.outputs.build id: buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0 - - name: Cache Docker layers - if: steps.build_docker_image.outputs.build && steps.prep.outputs.build - uses: actions/cache@v3 - with: - path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx- - - - name: Login to Docker Hub + - name: Login to ghcr if: github.event_name != 'pull_request' - uses: docker/login-action@v1 + uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 with: - username: ${{ secrets.MOAUTO_DOCKERHUB_USERNAME }} - password: ${{ secrets.MOAUTO_DOCKERHUB_TOKEN }} + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push if: steps.build_docker_image.outputs.build && steps.prep.outputs.build id: docker_build - uses: docker/build-push-action@v2 + uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # v5.3.0 with: builder: ${{ steps.buildx.outputs.name }} - context: ./docker-jans-${{ matrix.docker-images }} - file: ./docker-jans-${{ matrix.docker-images }}/Dockerfile + context: ${{ steps.prep.outputs.dockerfilelocation }} + file: ${{ steps.prep.outputs.dockerfilelocation }}/Dockerfile + sbom: true + provenance: true #target: prod # add to platforms comma seperated linux/ppc64leL Issue: py3-grpcio # add to platforms comma seperated linux/386 : Issue: openjdk11-jre-headless alpine package not @@ -194,9 +221,23 @@ jobs: platforms: linux/amd64 push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.prep.outputs.tags }} - cache-from: type=local,src=/tmp/.buildx-cache - cache-to: type=local,dest=/tmp/.buildx-cache - - name: Image digest if: steps.build_docker_image.outputs.build && steps.prep.outputs.build run: echo ${{ steps.docker_build.outputs.digest }} + + - name: Sign the images with GitHub OIDC Token + if: steps.build_docker_image.outputs.build && steps.prep.outputs.build + env: + DIGEST: ${{ steps.docker_build.outputs.digest }} + TAGS: ${{ steps.prep.outputs.tags }} + run: | + images="" + for tag in ${TAGS//,/ }; do + if [[ $tag == *"_dev"* && $TAGS == *","* ]]; then + continue + fi + images+="${tag}@${DIGEST} " + done + if [[ -n $images ]]; then + cosign sign --yes -a author=JanssenProject ${images} + fi diff --git a/.github/workflows/docker_imagescan.yml b/.github/workflows/docker_imagescan.yml deleted file mode 100644 index b34271d780d..00000000000 --- a/.github/workflows/docker_imagescan.yml +++ /dev/null @@ -1,49 +0,0 @@ -# Please do not attempt to edit this flow without the direct consent from the DevOps team. This file is managed centrally. -# Contact @moabu -name: Scan Image -on: - push: - branches: - - master - - main - - "!update-pycloud-in-**" - paths: - - "docker-jans-**/**" - - "!**.md" - pull_request: - branches: - - master - - main - - "!update-pycloud-in-**" - paths: - - "docker-jans-**/**" - - "!docker-jans-**/CHANGELOG.md" - - "!docker-jans-**/version.txt" - - "!**.md" - workflow_dispatch: -jobs: - build: - runs-on: ubuntu-latest - strategy: - matrix: - docker-images: ["auth-server", "certmanager", "config-api", "client-api", "configurator", "fido2", "persistence-loader", "scim"] - steps: - - uses: actions/checkout@v3 - - name: Build the Container image - run: docker build ./docker-jans-${{ matrix.docker-images }} --file ./docker-jans-${{ matrix.docker-images }}/Dockerfile --tag localbuild/scanimage:latest - - uses: anchore/scan-action@v3 - id: scan - with: - image: "localbuild/scanimage:latest" - acs-report-enable: true - fail-build: false - - name: upload Anchore scan SARIF report - uses: github/codeql-action/upload-sarif@v2 - with: - sarif_file: results.sarif - - uses: azure/container-scan@v0 - continue-on-error: true - with: - image-name: localbuild/scanimage:latest - run-quality-checks: true - severity-threshold: LOW diff --git a/.github/workflows/docker_triggerdevbuild.yml b/.github/workflows/docker_triggerdevbuild.yml deleted file mode 100644 index b9f486e98dc..00000000000 --- a/.github/workflows/docker_triggerdevbuild.yml +++ /dev/null @@ -1,67 +0,0 @@ -# Please do not attempt to edit this flow without the direct consent from the DevOps team. This file is managed centrally. -# Contact @moabu -name: triggerdevbuild -on: [workflow_dispatch] -jobs: - checkBuildAndUpdate: - runs-on: ubuntu-latest - env: - GITHUB_TOKEN: ${{ secrets.MOAUTO_WORKFLOW_TOKEN }} - PR_DOCKER_DEV_BRANCH_NAME: update-dev-images - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Import GPG key - id: import_gpg - uses: crazy-max/ghaction-import-gpg@v4 - with: - gpg_private_key: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY }} - passphrase: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY_PASSPHRASE }} - git_user_signingkey: true - git_commit_gpgsign: true - - - name: Setup Python 3.7 - uses: actions/setup-python@v2.3.2 - with: - python-version: 3.7 - - - name: Install dependencies - run: | - sudo apt-get update - sudo python3 -m pip install --upgrade pip - sudo pip3 install setuptools --upgrade - sudo pip3 install -r ./automation/requirements.txt - sudo apt-get update - sudo apt-get install jq - - - name: Update Images - run: | - cd automation - sudo python3 auto_update_build_date.py - git config user.name "mo-auto" - git config user.email "54212639+mo-auto@users.noreply.github.com" - git config --global user.signingkey "${{ steps.import_gpg.outputs.keyid }}" - git add -A - git commit -S -s -m "chore(Dockerfile): updated build dates" - - # Buggy behaviour with gh pr command. Will use the following action until bugs have been fixed. - #PR=$(gh pr create --head $PR_DOCKER_DEV_BRANCH_NAME --assignee "moabu" --base "master" --body "Updated build date. Auto-generated." --label "enhancement,bot" --reviewer "moabu" --title "chore(Dockerfiles): updated build dates" || echo "PR Branch is already open") - - name: Open PR - uses: peter-evans/create-pull-request@v4 - with: - token: ${{ secrets.MOAUTO_WORKFLOW_TOKEN }} - committer: mo-auto <54212639+mo-auto@users.noreply.github.com> - author: mo-auto <54212639+mo-auto@users.noreply.github.com> - branch: ${{ env.PR_DOCKER_DEV_BRANCH_NAME }} - title: 'chore(Dockerfiles): updated build dates' - body: | - - Always leave open - - Updated build dates for images. - - Auto-generated. - labels: | - enhancement - bot - assignees: moabu - reviewers: moabu - delete-branch: true \ No newline at end of file diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 00000000000..dd1069b1ffa --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,136 @@ +name: documentation +on: + workflow_dispatch: + pull_request: + types: + - opened + - edited + paths: + - 'docs/**' + +permissions: + contents: read + +jobs: + docs: + if: github.repository == 'JanssenProject/jans' + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - name: Checkout code + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + fetch-depth: 0 + + - name: Set up Python 3.7 + uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0 + with: + python-version: 3.7 + + - name: Auto-merge inhouse doc prs + run: | + sudo apt-get update + sudo apt-get install jq + echo "${{ secrets.MOAUTO_WORKFLOW_TOKEN }}" | gh auth login --with-token + pull_number=$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH") + NUMBER_OF_FOLDERS_CHANGED=$( gh pr view $pull_number --json files --jq '.files.[].path' | cut -d/ -f1 | sort -u | wc -l) + echo "The number of folders that changed are $NUMBER_OF_FOLDERS_CHANGED" + IS_USER_ORG_MEMBER=$(gh api -H "Accept: application/vnd.github.v3+json" --hostname github.com /orgs/${{ github.repository_owner }}/members?per_page=100 | jq .[].login | grep ${{ github.actor }}) + echo "checking if ${{ github.actor }} belongs to the ${{ github.repository_owner }}. Found $IS_USER_ORG_MEMBER." + PULL_NUMBER=$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH") + #The number of folders changed should be 1. Otherwise the contributor has touched other folders besides /docs. + if [[ $NUMBER_OF_FOLDERS_CHANGED == "1" ]] && [[ ! -z "$IS_USER_ORG_MEMBER" ]]; then + echo "Approving PR $PULL_NUMBER" + gh pr review --approve $PULL_NUMBER + echo "Merging PR $PULL_NUMBER" + gh pr merge --squash --auto $PULL_NUMBER + echo "" + else + echo "Bot will not merge this as it does not meet the requirements." + echo "Either the developer has merged with doc changes code changes or an external contributor has requested doc changes." + fi + + check_pr: + if: github.repository == 'JanssenProject/jans' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - name: Checkout code + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + fetch-depth: 0 + + - name: Install latest GH + continue-on-error: true + run: | + VERSION=`curl "https://api.github.com/repos/cli/cli/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/' | cut -c2-` + echo $VERSION + curl -sSL https://github.com/cli/cli/releases/download/v${VERSION}/gh_${VERSION}_linux_amd64.tar.gz -o gh_${VERSION}_linux_amd64.tar.gz + tar xvf gh_${VERSION}_linux_amd64.tar.gz + sudo cp gh_${VERSION}_linux_amd64/bin/gh /usr/local/bin/ + gh version + + - name: Check commit message + continue-on-error: true + id: check_message + run: | + PULL_NUMBER=$(echo "$GITHUB_REF" | awk -F / '{print $3}') + echo "Parsing commits from PR $PULL_NUMBER" + MESSAGE=$(gh pr view "$PULL_NUMBER" --json commits | jq '.' | grep "messageHeadline" | cut -d: -f2- | grep "^docs" || echo "") + echo "$MESSAGE" + if [[ -z "$MESSAGE" ]]; then + echo "conventional commit starting with docs: does not exist" + exit 1 + else + echo "conventional commit exists starting with docs:" + exit 0 + fi + + - name: Verify Changed files + if: steps.check_message.outcome != 'success' + id: check_files + run: | + pull_number=$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH") + CHANGES=$(gh pr view $pull_number --json files --jq '.files.[].path' | cut -d/ -f1 | grep '^docs' | sort -u ) + if [ -n "$CHANGES" ]; then + echo "File changes exist" + exit 0 + else + echo "No file changes" + exit 1 + fi + + + lint_docs: + if: github.repository == 'JanssenProject/jans' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - name: Checkout code + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + fetch-depth: 0 + + - name: Markdown linter + continue-on-error: true + run: | + sudo apt-get install rubygems -y + sudo gem install mdl + mdl --style automation/markdown/.mdl_style.rb docs/ + diff --git a/.github/workflows/documenation_check.yml b/.github/workflows/documenation_check.yml new file mode 100644 index 00000000000..642d4e84e64 --- /dev/null +++ b/.github/workflows/documenation_check.yml @@ -0,0 +1,57 @@ +name: Check documentation on PRs +on: + workflow_dispatch: + pull_request: + types: + - opened + - edited + +permissions: + contents: read + +jobs: + check_pr_for_docs: + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - name: Checkout code + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + fetch-depth: 0 + + - name: Install latest GH + continue-on-error: true + run: | + VERSION=`curl "https://api.github.com/repos/cli/cli/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/' | cut -c2-` + echo $VERSION + curl -sSL https://github.com/cli/cli/releases/download/v${VERSION}/gh_${VERSION}_linux_amd64.tar.gz -o gh_${VERSION}_linux_amd64.tar.gz + tar xvf gh_${VERSION}_linux_amd64.tar.gz + sudo cp gh_${VERSION}_linux_amd64/bin/gh /usr/local/bin/ + gh version + + - name: Check commit message + continue-on-error: false + id: check_message + run: | + PULL_NUMBER=${{ github.event.pull_request.number }} + echo "Parsing commits from PR $PULL_NUMBER" + MESSAGE=$(gh pr view "$PULL_NUMBER" --json commits | jq -r '.commits[].messageHeadline' | grep "^docs" || echo "") + echo "$MESSAGE" + if [[ -z "$MESSAGE" ]]; then + echo "conventional commit starting with docs: does not exist. Checking if user confirmed no impact on docs in PR body" + pr_body=$(gh pr view https://github.com/${{ github.repository }}/pull/"$PULL_NUMBER" --json body -q '.body') + if [[ $pr_body == *"- [x] **I confirm that there is no impact on the docs due to the code changes in this PR.**"* ]]; then + echo "Checklist item is filled in PR body. Author confirmed no impact." + exit 0 + else + echo "Author did not check the item that states: **I confirm that there is no impact on the docs due to the code changes in this PR.**" + exit 1 + fi + fi + exit 0 diff --git a/.github/workflows/flake8-lint.yml b/.github/workflows/flake8-lint.yml new file mode 100644 index 00000000000..63dadc76b64 --- /dev/null +++ b/.github/workflows/flake8-lint.yml @@ -0,0 +1,51 @@ +name: Flake lint Python +on: + push: + branches: + - main + paths: + #TODO: add all python projects paths below "jans-pycloudlib", "jans-cli-tui", "jans-linux-setup" + - 'demos/jans-tent/**' + pull_request: + branches: + - main + paths: + #TODO: add all python projects paths below "jans-pycloudlib", "jans-cli-tui", "jans-linux-setup" + - 'demos/jans-tent/**' + +permissions: + contents: read + +jobs: + lint: + runs-on: ubuntu-latest + strategy: + #max-parallel: 1 + fail-fast: false + matrix: + #TODO: add all python projects paths below "jans-pycloudlib", "jans-cli-tui", "jans-linux-setup" + python-projects: ["demos/jans-tent"] + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - name: Set up Python 3.8 + uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0 + with: + python-version: 3.8 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + working-directory: ${{ matrix.python-projects }} + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + working-directory: ${{ matrix.python-projects }} diff --git a/.github/workflows/jans_pycloud_build_package.yml b/.github/workflows/jans_pycloud_build_package.yml index 867c60c0467..bba28154041 100644 --- a/.github/workflows/jans_pycloud_build_package.yml +++ b/.github/workflows/jans_pycloud_build_package.yml @@ -3,115 +3,61 @@ name: Images Janspycloud updater on: push: branches: - - master - main paths: - "jans-pycloudlib/**" - "!**.md" - pull_request: - branches: - - master - - main - paths: - - "jans-pycloudlib/**" - - "!jans-pycloudlib/CHANGELOG.md" - "!jans-pycloudlib/jans/pycloudlib/version.py" - - "!**.md" workflow_dispatch: +permissions: + contents: read + jobs: pycloud-updater: + permissions: + contents: write # for Git to git push + if: github.actor != 'mo-auto' && github.repository == 'JanssenProject/jans' runs-on: ubuntu-latest env: PR_DOCKER_BRANCH_NAME: update-jans-pycloudlib steps: - - name: Checkout - if: github.actor != 'mo-auto' - uses: actions/checkout@v3 - - - uses: actions/checkout@v3 - if: github.event_name == 'pull_request' && github.actor != 'mo-auto' + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 with: - ref: ${{ github.head_ref }} + egress-policy: audit + + - name: Checkout + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Import GPG key id: import_gpg - if: github.actor != 'mo-auto' - uses: crazy-max/ghaction-import-gpg@v4 + uses: crazy-max/ghaction-import-gpg@01dd5d3ca463c7f10f7f4f7b4f177225ac661ee4 # v6.1.0 with: gpg_private_key: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY }} passphrase: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY_PASSPHRASE }} git_user_signingkey: true git_commit_gpgsign: true - - name: Update stable requriments in docker images - if: github.actor != 'mo-auto' + - name: Configure Git + run: | + git config --global user.name "mo-auto" + git config --global user.email "54212639+mo-auto@users.noreply.github.com" + git config --global user.signingkey "${{ steps.import_gpg.outputs.keyid }}" + git checkout -b ${{ env.PR_DOCKER_BRANCH_NAME }} + echo "${{ secrets.MOAUTO_WORKFLOW_TOKEN }}" | gh auth login --with-token + + - name: Update stable requirements in docker images id: build_stable_reqs run: | - dockerimages="auth-server certmanager client-api config-api configurator fido2 persistence-loader scim" + dockerimages="auth-server casa certmanager config-api configurator fido2 keycloak-link link persistence-loader saml scim " for image in $dockerimages; do sed -i '/git+https/c\git+https://github.com/${{ github.repository }}@${{ github.sha }}#egg=jans-pycloudlib&subdirectory=jans-pycloudlib' ./docker-jans-$image/requirements.txt done - name: Configure Git - if: github.actor != 'mo-auto' run: | - git config user.name "mo-auto" - git config user.email "54212639+mo-auto@users.noreply.github.com" - git config --global user.signingkey "${{ steps.import_gpg.outputs.keyid }}" git add -A git commit -S -s -m "chore(jans-pycloudlib): updated build" - - # Buggy behaviour with gh pr command. Will use the following action until bugs have been fixed. - #PR=$(gh pr create --head $PR_DOCKER_DEV_BRANCH_NAME --assignee "moabu" --base "master" --body "Updated build date. Auto-generated." --label "enhancement,bot" --reviewer "moabu" --title "chore(Dockerfile): updated build dates" || echo "PR Branch is already open") - - name: Open PR - id: cpr - uses: peter-evans/create-pull-request@v4 - if: github.event_name == 'pull_request' && github.actor != 'mo-auto' - with: - token: ${{ secrets.MOAUTO_WORKFLOW_TOKEN }} - committer: mo-auto <54212639+mo-auto@users.noreply.github.com> - author: mo-auto <54212639+mo-auto@users.noreply.github.com> - branch: 'update-pycloud-in-${{ github.head_ref }}' - title: 'chore(Dockerfiles): updated janspycloud build in ${{ github.head_ref }}' - body: | - - This PR will automerge - - Updated unstable build - - Auto-generated. - labels: | - enhancement - bot - assignees: moabu - delete-branch: true - base: ${{ github.head_ref }} - - - name: Enable Pull Request Automerge - if: steps.cpr.outputs.pull-request-operation == 'created' && github.actor != 'mo-auto' - uses: peter-evans/enable-pull-request-automerge@v2 - with: - token: ${{ secrets.MOAUTO_WORKFLOW_TOKEN }} - pull-request-number: ${{ steps.cpr.outputs.pull-request-number }} - merge-method: squash - - # Buggy behaviour with gh pr command. Will use the following action until bugs have been fixed. - #PR=$(gh pr create --head $PR_DOCKER_DEV_BRANCH_NAME --assignee "moabu" --base "master" --body "Updated build date. Auto-generated." --label "enhancement,bot" --reviewer "moabu" --title "chore(Dockerfile): updated build dates" || echo "PR Branch is already open") - - name: Open PR - uses: peter-evans/create-pull-request@v4 - if: github.event_name != 'pull_request' && github.actor != 'mo-auto' - with: - token: ${{ secrets.MOAUTO_WORKFLOW_TOKEN }} - committer: mo-auto <54212639+mo-auto@users.noreply.github.com> - author: mo-auto <54212639+mo-auto@users.noreply.github.com> - branch: ${{ env.PR_DOCKER_BRANCH_NAME }} - title: 'chore(Dockerfiles): updated janspycloud build' - body: | - - Always leave open - - Updated unstable build - - Auto-generated. - labels: | - enhancement - bot - assignees: moabu - reviewers: moabu - delete-branch: true - base: ${{ github.head_ref }} + git push origin ${{ env.PR_DOCKER_BRANCH_NAME }} + PR=$(gh pr create --assignee "moabu" --base "main" --body "Updated build date. Auto-generated." --label "enhancement,bot" --reviewer "moabu" --title "chore(Dockerfile): updated build dates" || echo "PR Branch is already open") diff --git a/.github/workflows/label_pr_issues.yml b/.github/workflows/label_pr_issues.yml index 6310efeb0a7..331b361db70 100644 --- a/.github/workflows/label_pr_issues.yml +++ b/.github/workflows/label_pr_issues.yml @@ -6,22 +6,34 @@ on: types: - opened - edited + branches: + - main issues: types: - opened - edited workflow_dispatch: +permissions: + contents: read + jobs: label: + # This cannot run on forks as the user mo-auto does not have access to forks + if: github.repository == 'JanssenProject/jans' name: label PR runs-on: ubuntu-latest steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + - name: check out code - uses: actions/checkout@v3 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Setup Python 3.7 - uses: actions/setup-python@v2.3.2 + uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0 with: python-version: 3.7 @@ -42,8 +54,7 @@ jobs: run: | git config --global user.name "mo-auto" git config --global user.email "54212639+mo-auto@users.noreply.github.com" - echo "${{ secrets.MOAUTO_WORKFLOW_TOKEN }}" > token.txt - gh auth login --with-token < token.txt + echo "${{ secrets.MOAUTO_WORKFLOW_TOKEN }}" | gh auth login --with-token if [[ "${{github.event_name}}" == "issues" ]]; then echo "Activated by an issue event" issue_or_pull_number=$(jq --raw-output .issue.number "$GITHUB_EVENT_PATH") @@ -61,3 +72,10 @@ jobs: title=$(jq --raw-output .pull_request.title "$GITHUB_EVENT_PATH") fi sudo python3 ./automation/github-labels/label.py ${issue_or_pull_number} ${changed_files} ${branch} ${operation} ${title} + + # Remove once add-project option in gh cli support project beta. Add to labels.py + # TODO: Add PR to project + - name: Add issue to project + if: github.event_name != 'pull_request' + run: | + gh issue edit $(jq --raw-output .issue.number "$GITHUB_EVENT_PATH") --add-project janssen-issue-dashboard diff --git a/.github/workflows/microk8s.yml b/.github/workflows/microk8s.yml index 40751228541..c9e5f74dd31 100644 --- a/.github/workflows/microk8s.yml +++ b/.github/workflows/microk8s.yml @@ -15,6 +15,9 @@ on: - "charts/**" - "automation/startjanssendemo.sh" workflow_dispatch: +permissions: + contents: read + jobs: microk8s: strategy: @@ -22,17 +25,22 @@ jobs: matrix: istio: ["true", "false"] # add '"pgsql" when supported - persistence-backends: ["LDAP","MYSQL"] + persistence-backends: ["MYSQL"] fail-fast: false runs-on: ubuntu-latest steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Test dev setup id: start_up_script run: | ip=$(ifconfig eth0 | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1') chmod u+x automation/startjanssendemo.sh - sudo bash ./automation/startjanssendemo.sh demoexample.jans.io ${{ matrix.persistence-backends }} true $ip ${{ matrix.istio }} + sudo bash ./automation/startjanssendemo.sh demoexample.jans.io ${{ matrix.persistence-backends }} true $ip ${{ matrix.istio }} "--devel" sudo bash ./automation/analyze_test_microk8s_setup.sh "${{ secrets.MOAUTO_ROCKETCHAT_TOKEN }}" "${{ secrets.MOAUTO_ROCKETCHAT_ID }}" ${{ matrix.persistence-backends }} diff --git a/.github/workflows/post-to-rancher-partner-charts.yml b/.github/workflows/post-to-rancher-partner-charts.yml deleted file mode 100644 index 1e40d0b29f6..00000000000 --- a/.github/workflows/post-to-rancher-partner-charts.yml +++ /dev/null @@ -1,72 +0,0 @@ -name: rancher-partner-charts -# This posts the latest chart to rancher/partner-charts -on: - push: - tags: - - 'v*' - workflow_dispatch: -jobs: - publish: - name: Publish on rancher partner charts - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Set up Python 3.8 - uses: actions/setup-python@v3 - with: - python-version: 3.8 - - - name: Import GPG key - id: import_gpg - uses: crazy-max/ghaction-import-gpg@v4 - with: - gpg_private_key: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY }} - passphrase: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY_PASSPHRASE }} - git_user_signingkey: true - git_commit_gpgsign: true - - - name: Get latest tag - id: previoustag - run: | - echo "::set-output name=tag::$(curl https://api.github.com/repos/${{ github.repository }}/releases -s | grep "tag_name" | cut -d '"' -f 4 | grep -o '^\v.*' | head -n 1)" - echo "::set-output name=version::$(curl https://api.github.com/repos/${{ github.repository }}/releases -s | grep "tag_name" | cut -d '"' -f 4 | grep -o '^\v.*' | head -n 1 | cut -d 'v' -f 2)" - - name: Configure Git - run: | - git clone https://mo-auto:${{ secrets.MOWORKFLOWTOKEN }}@github.com/mo-auto/partner-charts.git - git config --global user.name "mo-auto" - git config --global user.email "54212639+mo-auto@users.noreply.github.com" - git config --global user.signingkey "${{ steps.import_gpg.outputs.keyid }}" - cd partner-charts - git remote add upstream https://github.com/rancher/partner-charts.git - git fetch upstream - # ensures current branch is main-source - git checkout main-source - # pulls all new commits made to upstream/main-source - git pull upstream main-source - # this will delete all local changes to main-source - git reset --hard upstream/main-source - # take care, this will delete all changes on the forked main-source - git push origin main-source --force - mkdir ./packages/janssen || echo "directory exists!" - cp ../automation/rancher-partner-charts/package.yaml ./packages/janssen/package.yaml - export PACKAGE=janssen - make prepare - cp ../automation/rancher-partner-charts/app-readme.md ./packages/janssen/charts/app-readme.md - cp ../automation/rancher-partner-charts/questions.yaml ./packages/janssen/charts/questions.yaml - make patch - make clean - git add -A - git commit -S -s -m "feat(janssen): patch helm package" - make charts - git add -A - git commit -S -s -m "feat(janssen): chart helm package" - git push origin - MESSAGE="feat(janssen): update janssen helm partner chart" - BODY=$(<../automation/rancher-partner-charts/pull_request_body.md) - echo "${{ secrets.MOWORKFLOWTOKEN }}" > token.txt - gh auth login --with-token < token.txt - PR=$(gh pr create --base "main-source" --body "${BODY}" --title "${MESSAGE}") - -#TODO: Add docker test before opening a PR in rancher-partner charts. \ No newline at end of file diff --git a/.github/workflows/pr-ref-issue.yml b/.github/workflows/pr-ref-issue.yml new file mode 100644 index 00000000000..ded2c2595fc --- /dev/null +++ b/.github/workflows/pr-ref-issue.yml @@ -0,0 +1,107 @@ +# This workflow enforces each PR has an issue created. +# It makes sure each PR is targeting an open issue. +# If the PR does not target an issue , it will open an issue, write a comment and attempt to edit the PR to link it to the issue +# The author would be asked to update the issues details. + +name: issue->PR +on: + pull_request: + types: + - opened + - reopened + paths-ignore: + - "docs/**" + - ".github/workflows/**" + branches: + - main + workflow_dispatch: +permissions: + contents: read + +jobs: + check-prs-issue: + if: startsWith(github.head_ref, 'release-') != true && startsWith(github.head_ref, 'dependabot/') != true && startsWith(github.head_ref, 'snyk-') != true && github.repository == 'JanssenProject/jans' + name: Check PRs issue + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - name: Wait for 25 seconds so that GH can attach issue to the PR if already mentioned by author + run: sleep 25s + shell: bash + - name: Install dependencies + run: | + sudo apt-get update + curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg + sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null + sudo apt-get update + sudo apt-get -y install gh + - name: Add a comment to a PR and create an issue if the PR does not reference an open issue + env: + PR_TITLE: ${{ github.event.pull_request.title }} + PR_BODY: ${{ github.event.pull_request.body }} + PR_NUMBER: ${{ github.event.pull_request.number }} + PR_USER: ${{ github.event.pull_request.user.login }} + REPO_FULL_NAME: ${{ github.event.pull_request.base.repo.full_name }} + run: | + git config --global user.name "mo-auto" + git config --global user.email "54212639+mo-auto@users.noreply.github.com" + echo "${{ secrets.MOAUTO_WORKFLOW_TOKEN }}" | gh auth login --with-token + + issue_found="" + + for issue in $( echo "$PR_TITLE $PR_BODY" | grep -o '#[0-9][0-9]*' ); do + if check_issue="$( gh api "repos/$REPO_FULL_NAME/issues/${issue#"#"}" )" \ + && [ "$( echo "$check_issue" | python3 -c "import sys, json; data = json.load(sys.stdin); print( + 'node_id' in data and 'state' in data and data['node_id'].find('I_') == 0 and data['state'] == 'open' + )" )" = "True" ]; then + issue_found="$issue" + break + fi + done + + if [ -n "$issue_found" ]; then + echo "OK: An open issue ($issue_found) is referenced in your PR ($PR_NUMBER)" + else + echo "Failed: No open issues referenced in your PR ($PR_NUMBER)" >&2 + echo "Creating an issue..." + + if ISSUE_NUMBER="$( echo "{ \"title\": \"fix: $PR_TITLE -autocreated \", \"body\": \"This issue was created because no open issues were referenced in your PR (#$PR_NUMBER).\" }" \ + | gh api "repos/$REPO_FULL_NAME/issues" \ + -X POST \ + -H "Content-Type: application/json" \ + --input - \ + --jq '.number' + )"; then + echo "Issue number $ISSUE_NUMBER created" + else + echo "Error: Failed to create an issue" >&2 + exit 1 + fi + + echo "Creating a comment..." + printf "%b" "Error: Hi @$PR_USER, You did not reference an open issue in your [PR]($PR_NUMBER). I attempted to create an [issue](#$ISSUE_NUMBER) for you.\ + \n Please update that [issues'](#$ISSUE_NUMBER) title and body and make sure I correctly referenced it in the above PRs body." \ + | gh issue comment "$PR_NUMBER" \ + --body-file - \ + --repo "$REPO_FULL_NAME" + + if [ -z "$PR_BODY" ]; then + PR_BODY="Please edit this." + fi + + echo "Editing PR $PR_NUMBER..." + printf "%b" "$PR_BODY\nCloses #$ISSUE_NUMBER, " | gh pr edit "$PR_NUMBER" \ + --body-file - \ + --repo "$REPO_FULL_NAME" + # Report bad practice + curl -X POST -H 'Content-Type: application/json' --data '{"alias":"Mo-Auto","emoji":":robot:","text":":x: :cry: It seems like @${{github.actor}} did not follow the structure flow in GH Issue --> PR. Hi @${{github.actor}} . You did not reference an open issue in your [PR](https://github.com/${{github.repository}}/pull/${{ github.event.pull_request.number }}) body before opening it. :x: ","attachments":[{"title":"GitHub user behavior reporter","title_link":"https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue","text":"We are not too happy with your PR practices. Always open a detailed issue before opening a PR. Make sure to reference that PR.","color":"#764FA5"}]}' ${{ secrets.GITHUBUSERBEHAVIORROCKETCHATREPORTER }} + exit 0 + fi diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml deleted file mode 100644 index c4e53b26560..00000000000 --- a/.github/workflows/release.yaml +++ /dev/null @@ -1,219 +0,0 @@ -name: release -on: - workflow_dispatch: -jobs: - release-chart-pr: - if: contains(github.event.head_commit.message, 'Release-As:') || github.event_name == 'workflow_dispatch' - runs-on: ubuntu-latest - strategy: - #max-parallel: 1 - fail-fast: false - matrix: - charts: [ "charts/janssen" ] - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Import GPG key - id: import_gpg - uses: crazy-max/ghaction-import-gpg@v4 - with: - gpg_private_key: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY }} - passphrase: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY_PASSPHRASE }} - git_user_signingkey: true - git_commit_gpgsign: true - - - name: Configure Git - run: | - git config user.name "mo-auto" - git config user.email "54212639+mo-auto@users.noreply.github.com" - git config --global user.signingkey "${{ steps.import_gpg.outputs.keyid }}" - - - uses: google-github-actions/release-please-action@v3.2 - id: release-please - with: - path: ${{ matrix.charts }} - token: ${{ secrets.MOAUTO_WORKFLOW_TOKEN }} - release-type: helm - package-name: ${{ matrix.charts }} - monorepo-tags: true - release-simple-pr: - needs: release-chart-pr - runs-on: ubuntu-latest - strategy: - #max-parallel: 1 - fail-fast: false - matrix: - simple: [ "super-jans", "docs" ] - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Import GPG key - id: import_gpg - uses: crazy-max/ghaction-import-gpg@v4 - with: - gpg_private_key: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY }} - passphrase: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY_PASSPHRASE }} - git_user_signingkey: true - git_commit_gpgsign: true - - - name: Configure Git - run: | - git config user.name "mo-auto" - git config user.email "54212639+mo-auto@users.noreply.github.com" - git config --global user.signingkey "${{ steps.import_gpg.outputs.keyid }}" - - - uses: google-github-actions/release-please-action@v3.2 - id: release-please - with: - path: ${{ matrix.simple }} - token: ${{ secrets.MOAUTO_WORKFLOW_TOKEN }} - release-type: simple - package-name: ${{ matrix.simple }} - monorepo-tags: true - release-java-pr: - needs: release-simple-pr - runs-on: ubuntu-latest - strategy: - #max-parallel: 1 - fail-fast: false - matrix: - maven: [ "jans-scim", "jans-orm", "jans-notify", "jans-fido2", "jans-eleven", "jans-core", "jans-config-api", "jans-client-api", "jans-bom", "jans-auth-server" ] - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Import GPG key - id: import_gpg - uses: crazy-max/ghaction-import-gpg@v4 - with: - gpg_private_key: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY }} - passphrase: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY_PASSPHRASE }} - git_user_signingkey: true - git_commit_gpgsign: true - - - name: Configure Git - run: | - git config user.name "mo-auto" - git config user.email "54212639+mo-auto@users.noreply.github.com" - git config --global user.signingkey "${{ steps.import_gpg.outputs.keyid }}" - - - uses: google-github-actions/release-please-action@v3.2 - id: release-please - with: - path: ${{ matrix.maven }} - token: ${{ secrets.MOAUTO_WORKFLOW_TOKEN }} - release-type: maven - package-name: ${{ matrix.maven }} - monorepo-tags: true - release-docker-pr: - needs: release-java-pr - runs-on: ubuntu-latest - strategy: - #max-parallel: 1 - fail-fast: false - matrix: - simple: [ "docker-jans-auth-server", "docker-jans-certmanager", "docker-jans-config-api", "docker-jans-client-api", "docker-jans-configurator", "docker-jans-fido2", "docker-jans-persistence-loader", "docker-jans-scim" ] - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Import GPG key - id: import_gpg - uses: crazy-max/ghaction-import-gpg@v4 - with: - gpg_private_key: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY }} - passphrase: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY_PASSPHRASE }} - git_user_signingkey: true - git_commit_gpgsign: true - - - name: Configure Git - run: | - git config user.name "mo-auto" - git config user.email "54212639+mo-auto@users.noreply.github.com" - git config --global user.signingkey "${{ steps.import_gpg.outputs.keyid }}" - - - uses: google-github-actions/release-please-action@v3.2 - id: release-please - with: - path: ${{ matrix.simple }} - token: ${{ secrets.MOAUTO2_WORKFLOW_TOKEN }} - release-type: simple - package-name: ${{ matrix.simple }} - monorepo-tags: true - release-python-pr: - needs: release-docker-pr - runs-on: ubuntu-latest - strategy: - #max-parallel: 1 - fail-fast: false - matrix: - python-projects: ["jans-pycloudlib", "jans-cli", "jans-linux-setup"] - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Import GPG key - id: import_gpg - uses: crazy-max/ghaction-import-gpg@v4 - with: - gpg_private_key: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY }} - passphrase: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY_PASSPHRASE }} - git_user_signingkey: true - git_commit_gpgsign: true - - - name: Configure Git - run: | - git config user.name "mo-auto" - git config user.email "54212639+mo-auto@users.noreply.github.com" - git config --global user.signingkey "${{ steps.import_gpg.outputs.keyid }}" - - - uses: google-github-actions/release-please-action@v3.2 - id: release-please - with: - path: ${{ matrix.python-projects }} - token: ${{ secrets.MOAUTO3_WORKFLOW_TOKEN }} - release-type: python - package-name: ${{ matrix.python-projects }} - monorepo-tags: true - mega-release-pr: - needs: release-python-pr - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Import GPG key - id: import_gpg - uses: crazy-max/ghaction-import-gpg@v4 - with: - gpg_private_key: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY }} - passphrase: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY_PASSPHRASE }} - git_user_signingkey: true - git_commit_gpgsign: true - - - name: Configure Git - run: | - git config user.name "mo-auto" - git config user.email "54212639+mo-auto@users.noreply.github.com" - git config --global user.signingkey "${{ steps.import_gpg.outputs.keyid }}" - - - - uses: google-github-actions/release-please-action@v3.2 - id: release-please - with: - token: ${{ secrets.MOAUTO3_WORKFLOW_TOKEN }} - release-type: simple diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml new file mode 100644 index 00000000000..5c557de1e54 --- /dev/null +++ b/.github/workflows/scorecard.yml @@ -0,0 +1,62 @@ +name: Scorecard analysis workflow +on: + push: + # Only the default branch is supported. + branches: + - main + schedule: + # Weekly on Saturdays. + - cron: '30 1 * * 6' + +permissions: read-all + +jobs: + analysis: + name: Scorecard analysis + runs-on: ubuntu-latest + if: github.repository == 'JanssenProject/jans' + permissions: + # Needed for Code scanning upload + security-events: write + # Needed for GitHub OIDC token if publish_results is true + id-token: write + + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - name: "Checkout code" + uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + with: + persist-credentials: false + + - name: "Run analysis" + uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0 + with: + results_file: results.sarif + results_format: sarif + # Scorecard team runs a weekly scan of public GitHub repos, + # see https://github.com/ossf/scorecard#public-data. + # Setting `publish_results: true` helps us scale by leveraging your workflow to + # extract the results instead of relying on our own infrastructure to run scans. + # And it's free for you! + publish_results: true + + # Upload the results as artifacts (optional). Commenting out will disable + # uploads of run results in SARIF format to the repository Actions tab. + # https://docs.github.com/en/actions/advanced-guides/storing-workflow-data-as-artifacts + - name: "Upload artifact" + uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 + with: + name: SARIF file + path: results.sarif + retention-days: 5 + + # Upload the results to GitHub's code scanning dashboard (optional). + # Commenting out will disable upload of results to your repo's Code Scanning dashboard + - name: "Upload to code-scanning" + uses: github/codeql-action/upload-sarif@461ef6c76dfe95d5c364de2f431ddbd31a417628 # v3.26.9 + with: + sarif_file: results.sarif \ No newline at end of file diff --git a/.github/workflows/sync.yml b/.github/workflows/sync.yml new file mode 100644 index 00000000000..bd93eac07dc --- /dev/null +++ b/.github/workflows/sync.yml @@ -0,0 +1,72 @@ +name: sync +on: + workflow_dispatch: + inputs: + pr_number: + description: 'The PR number to pull the body from' + required: false + default: '' + pull_request_target: + branches: + - "cn-update-terraform-provider-jans" +permissions: + contents: read + +jobs: + publish: + permissions: + contents: write # for Git to git push + name: Push to terraform-provider-jans repo + if: github.repository == 'JanssenProject/jans' + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - name: Checkout code + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + + - name: Set up Python 3.8 + uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0 + with: + python-version: 3.8 + + - name: Import GPG key + id: import_gpg + uses: crazy-max/ghaction-import-gpg@01dd5d3ca463c7f10f7f4f7b4f177225ac661ee4 # v6.1.0 + with: + gpg_private_key: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY }} + passphrase: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY_PASSPHRASE }} + git_user_signingkey: true + git_commit_gpgsign: true + + - name: Configure Git + run: | + mkdir sync + cd sync + git clone https://mo-auto:${{ secrets.MOAUTO_WORKFLOW_TOKEN }}@github.com/JanssenProject/terraform-provider-jans.git + git config --global user.name "mo-auto" + git config --global user.email "54212639+mo-auto@users.noreply.github.com" + git config --global user.signingkey "${{ steps.import_gpg.outputs.keyid }}" + echo "${{ secrets.MOAUTO_WORKFLOW_TOKEN }}" | gh auth login --with-token + # If the user passed in a PR number + PR_NUMBER=${{ github.event.inputs.pr_number }} + if [ ! -z "$PR_NUMBER" ] + then + pull_number=$PR_NUMBER + echo "Manual PR number inputted" + else + pull_number=$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH") + fi + BODY=$(gh pr view $pull_number --json body --jq '.body') + echo $BODY + cd terraform-provider-jans + git checkout -b cn-update-terraform-provider-jans + rsync -av --progress ../../terraform-provider-jans/* . --exclude=.git + git add -A + git commit -S -s -m "fix(terraform-provider-jans): update terraform provider" || exit 0 + git push --set-upstream origin cn-update-terraform-provider-jans + MESSAGE="fix(terraform-provider-jans): update terraform module" + PR=$(gh pr create --body "${BODY}" --title "${MESSAGE}") diff --git a/.github/workflows/test_cedarling.yml b/.github/workflows/test_cedarling.yml new file mode 100644 index 00000000000..6647eba00c0 --- /dev/null +++ b/.github/workflows/test_cedarling.yml @@ -0,0 +1,53 @@ +name: Cedarling Testcases + +on: + pull_request: + branches: + - main + paths: + - "jans-cedarling/**" +permissions: + contents: read + +jobs: + rust_tests: + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + - name: Run Tests + run: | + cd ./jans-cedarling + cargo test --workspace + - name: Run Clippy + run: | + cd ./jans-cedarling + cargo clippy -- -Dwarnings + python_tests: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.10", "3.11"] + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + python3 -m pip install tox + - name: Test with pytest + run: | + cd ./jans-cedarling/bindings/cedarling_python + tox diff --git a/.github/workflows/test_docker_linux_installer.yml b/.github/workflows/test_docker_linux_installer.yml new file mode 100644 index 00000000000..11602a99b02 --- /dev/null +++ b/.github/workflows/test_docker_linux_installer.yml @@ -0,0 +1,136 @@ +name: Test Linux installer +on: + workflow_dispatch: + push: + branches: + - main + paths: + - "jans-linux-setup/**" + pull_request: + branches: + - main + paths: + - "jans-linux-setup/**" +permissions: + checks: write + pull-requests: write +jobs: + build: + runs-on: ubuntu-20.04 + strategy: + max-parallel: 6 + matrix: + # add '"pgsql" when supported + persistence-backends: ["MYSQL", "PGSQL", "LDAP", "COUCHBASE", "SPANNER"] + python-version: ["3.7"] + fail-fast: false + steps: + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - name: Set up Python3 + uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0 + with: + python-version: ${{ matrix.python-version }} + + - name: Set up Go + uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 + with: + go-version: 1.18 + + - name: Import GPG key + id: import_gpg + uses: crazy-max/ghaction-import-gpg@01dd5d3ca463c7f10f7f4f7b4f177225ac661ee4 # v6.1.0 + with: + gpg_private_key: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY }} + passphrase: ${{ secrets.MOAUTO_GPG_PRIVATE_KEY_PASSPHRASE }} + git_user_signingkey: true + git_commit_gpgsign: true + + - name: Configure Git + run: | + git config --global user.name "mo-auto" + git config --global user.email "54212639+mo-auto@users.noreply.github.com" + git config --global user.signingkey "${{ steps.import_gpg.outputs.keyid }}" + echo "${{ secrets.MOAUTO_WORKFLOW_TOKEN }}" | gh auth login --with-token + + - name: Test Jans monolith demo + run: | + ip=$(ifconfig eth0 | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1') + sudo chmod u+x automation/startjanssenmonolithdemo.sh + sudo RUN_TESTS=true bash ./automation/startjanssenmonolithdemo.sh "demoexample.jans.io" "${{ matrix.persistence-backends }}" "${ip}" "${{ github.sha }}" + persistence=$(echo "${{ matrix.persistence-backends }}" | tr '[:upper:]' '[:lower:]') + mv /tmp/reports /${{ matrix.persistence-backends }}-reports + + echo "generating rdbms docs for ${{ matrix.persistence-backends }}..." + git clone https://mo-auto:${{ secrets.MOAUTO_WORKFLOW_TOKEN }}@github.com/JanssenProject/jans.git + cd jans + git config pull.rebase true + git checkout -b cn-jans-update-${{ matrix.persistence-backends }}-auto-generated-docs || echo "Branch exists" + git pull origin cn-jans-update-${{ matrix.persistence-backends }}-auto-generated-docs || echo "Nothing to pull" + sudo bash ./automation/docs/generate-rdbms-docs.sh "$persistence" || echo "generating rdbms docs failed for ${{ matrix.persistence-backends }}!!!" + git add . || echo "generating rdbms docs failed !!!" + git commit -a -S -m "docs: auto-generated ${{ matrix.persistence-backends }} docs" || echo "Nothing to commit" + git push --set-upstream origin cn-jans-update-${{ matrix.persistence-backends }}-auto-generated-docs || echo "generating rdbms docs failed !!!" + MESSAGE="fix(docs): autogenerate ${{ matrix.persistence-backends }} RDBMS docs" + gh pr create --body "Auto generated RDBMS docs" --title "${MESSAGE}" || echo "PR exists" + cd .. + echo "generating rdbms docs for ${{ matrix.persistence-backends }} done" + + export JANS_URL=https://demoexample.jans.io + export JANS_CLIENT_ID=9876baac-de39-4c23-8a78-674b59df8c09 + export JANS_CLIENT_SECRET=1t5Fin3#security + export JANS_INSECURE_CLIENT=true + export TF_ACC=1 + cd terraform-provider-jans + go install github.com/jstemmer/go-junit-report/v2@latest + go test -v 2>&1 ./... | go-junit-report > ${{ matrix.persistence-backends }}report.xml + cd .. + + - name: Publish Test Results + continue-on-error: true + uses: EnricoMi/publish-unit-test-result-action@e780361cd1fc1b1a170624547b3ffda64787d365 # v2.12.0 + if: >- + github.event.pull_request.head.repo.full_name == github.repository || + github.event_name == 'workflow_dispatch' || + github.event_name == 'push' + with: + large_files: true + check_name: Java ${{ matrix.persistence-backends }} Tests + report_individual_runs: "true" + files: | + /${{ matrix.persistence-backends }}-reports/*.xml + + - name: Upload Test Results + continue-on-error: true + if: always() + uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0 + with: + name: java-${{ matrix.persistence-backends }}-test-results + path: "/${{ matrix.persistence-backends }}-reports/*.xml" + + - uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5 # v1 + continue-on-error: true + if: >- + github.event.pull_request.head.repo.full_name == github.repository || + github.event_name == 'workflow_dispatch' || + github.event_name == 'push' + id: go + with: + name: Go ${{ matrix.persistence-backends }} Tests + path: './terraform-provider-jans/${{ matrix.persistence-backends }}report.xml' + reporter: java-junit + + - name: Download Artifacts + uses: actions/download-artifact@6b208ae046db98c579e8a3aa621ab581ff575935 # v4.1.1 + with: + name: java-${{ matrix.persistence-backends }}-test-results + path: java-${{ matrix.persistence-backends }}-test-results + + - name: Publish Test Results + uses: EnricoMi/publish-unit-test-result-action/composite@e780361cd1fc1b1a170624547b3ffda64787d365 # v2.12.0 + with: + files: "java-${{ matrix.persistence-backends }}-test-results/**/*.xml" diff --git a/.github/workflows/testcases.yml b/.github/workflows/testcases.yml index a7178158d63..3fbc7398b00 100644 --- a/.github/workflows/testcases.yml +++ b/.github/workflows/testcases.yml @@ -3,7 +3,7 @@ name: testcases on: push: branches: - - master + - main paths: - "jans-pycloudlib/jans/**" - "jans-pycloudlib/tests/**" @@ -11,7 +11,7 @@ on: - "!**.md" pull_request: branches: - - master + - main paths: - "jans-pycloudlib/jans/**" - "jans-pycloudlib/tests/**" @@ -19,16 +19,24 @@ on: - "!jans-pycloudlib/CHANGELOG.md" - "!jans-pycloudlib/jans/pycloudlib/version.py" - "!**.md" +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest strategy: matrix: - python-version: [3.6, 3.7, 3.8] + python-version: ["3.10", "3.11"] steps: - - uses: actions/checkout@v3 + - name: Harden Runner + uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1 + with: + egress-policy: audit + + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2.3.2 + uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0 with: python-version: ${{ matrix.python-version }} - name: Install dependencies @@ -40,7 +48,7 @@ jobs: cd ./jans-pycloudlib tox - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 with: file: ./jans-pycloudlib/coverage.xml files: ./jans-pycloudlib/coverage1.xml,./jans-pycloudlib/coverage2.xml diff --git a/.gitignore b/.gitignore index 19ea6519177..5c2fad9c7dc 100644 --- a/.gitignore +++ b/.gitignore @@ -122,6 +122,9 @@ venv.bak/ # mkdocs documentation /site +bin/ +.pydevproject + # mypy .mypy_cache/ @@ -148,3 +151,19 @@ PyCharm .DS_STORE tmp /.metadata/ + +# DBeaver +credentials-config.json +.credentials-config.json.bak +data-sources.json +.data-sources.json.bak + +# Eclipse +.settings +.classpath +.project +.factorypath + +# scanner reports +trivy.json +grype.json diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 00000000000..40c392ec8b9 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,31 @@ +repos: +- repo: https://github.com/gherynos/pre-commit-java + rev: v0.2.4 + hooks: + - id: Checkstyle +- repo: https://github.com/gitleaks/gitleaks + rev: v8.16.3 + hooks: + - id: gitleaks +- repo: https://github.com/golangci/golangci-lint + rev: v1.52.2 + hooks: + - id: golangci-lint +- repo: https://github.com/jumanjihouse/pre-commit-hooks + rev: 3.0.0 + hooks: + - id: RuboCop + - id: shellcheck +- repo: https://github.com/pre-commit/mirrors-eslint + rev: v8.38.0 + hooks: + - id: eslint +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.4.0 + hooks: + - id: end-of-file-fixer + - id: trailing-whitespace +- repo: https://github.com/pylint-dev/pylint + rev: v2.17.2 + hooks: + - id: pylint diff --git a/CHANGELOG.md b/CHANGELOG.md index ae77c63f7fb..592f4f08cfd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,1189 @@ # Changelog +## [1.0.21](https://github.com/JanssenProject/jans/compare/v1.0.21...v1.0.21) (2023-12-14) + + +### Bug Fixes + +* location for saml plugin ([#7097](https://github.com/JanssenProject/jans/issues/7097)) ([c57ba6c](https://github.com/JanssenProject/jans/commit/c57ba6c5f8133e73189c51368711d8a37c766751)) +* remove agama inbound jar dependency ([#7095](https://github.com/JanssenProject/jans/issues/7095)) ([c58c55c](https://github.com/JanssenProject/jans/commit/c58c55cca0a88872d791941c9f7abca45a09813c)) + +## [1.0.20](https://github.com/JanssenProject/jans/compare/v1.0.20...v1.0.20) (2023-11-08) + + +### Features + +* **jans-tarp:** user should be allowed to paste an SSA (or specify a file from disk) in DCR form [#6161](https://github.com/JanssenProject/jans/issues/6161) ([#6467](https://github.com/JanssenProject/jans/issues/6467)) ([9b1f694](https://github.com/JanssenProject/jans/commit/9b1f69442003289aa2f92686c49d6e98e4e0e2c0)) + + +### Bug Fixes + +* prepare for 1.0.20 release ([c6e806e](https://github.com/JanssenProject/jans/commit/c6e806eb31fed998d52cbef7a7d94c231d913102)) + +## [1.0.19](https://github.com/JanssenProject/jans/compare/v1.0.19...v1.0.19) (2023-10-11) + + +### Features + +* **docker-jans:** upgrade base image to Java 17 ([#6231](https://github.com/JanssenProject/jans/issues/6231)) ([8ed40e9](https://github.com/JanssenProject/jans/commit/8ed40e91a56c256cb34262659b6e0657571f8c97)) +* keycloak refactoring referred to Issue [#5330](https://github.com/JanssenProject/jans/issues/5330) review ([#6157](https://github.com/JanssenProject/jans/issues/6157)) ([7319120](https://github.com/JanssenProject/jans/commit/73191202f2e39bf040749b69a31d01bdfbcec8eb)) + + +### Bug Fixes + +* **charts:** use interval-based cronjob schedule syntax ([#6089](https://github.com/JanssenProject/jans/issues/6089)) ([2c0fc97](https://github.com/JanssenProject/jans/commit/2c0fc97dccc938f641596e85c96d1ed4523f8f63)) +* **docs:** autogenerate docs ([#6261](https://github.com/JanssenProject/jans/issues/6261)) ([57137e4](https://github.com/JanssenProject/jans/commit/57137e446774f0769e54969b4edbc5d03b715298)) +* **docs:** scripts should be shown alphabetically ([#6222](https://github.com/JanssenProject/jans/issues/6222)) ([f60010c](https://github.com/JanssenProject/jans/commit/f60010c8180e3da8f49450233e551cfefe51dd00)) +* prepare for 1.0.19 release ([554fd43](https://github.com/JanssenProject/jans/commit/554fd434f624c4b4be3b2031c472177709da8966)) + +## [1.0.18](https://github.com/JanssenProject/jans/compare/v1.0.17...v1.0.18) (2023-09-23) + + +### Features + +* **jans-auth-server:** included org_id in the response of DCR [#5787](https://github.com/JanssenProject/jans/issues/5787) ([#6095](https://github.com/JanssenProject/jans/issues/6095)) ([34a5f8f](https://github.com/JanssenProject/jans/commit/34a5f8f43aefaa7403cd52d84e0b732f9e1d396e)) + + +### Bug Fixes + +* **jans-auth-server:** redirect when session does not exist but client_id parameter is present ([#6104](https://github.com/JanssenProject/jans/issues/6104)) ([f8f9591](https://github.com/JanssenProject/jans/commit/f8f959144b527148f3b586088ae9dd6fcf1158cf)) +* **jans-auth-server:** swagger is malformed due to typo [#6085](https://github.com/JanssenProject/jans/issues/6085) ([#6086](https://github.com/JanssenProject/jans/issues/6086)) ([e1ae899](https://github.com/JanssenProject/jans/commit/e1ae899ac4b1d82cd428276e5f00065b0b5a633e)) +* prepare for 1.0.18 release ([87af7e4](https://github.com/JanssenProject/jans/commit/87af7e4d41728ce2966362883b47e5354f8c3803)) +* remove content-type in header from /retrieve GET request [#6096](https://github.com/JanssenProject/jans/issues/6096) ([#6099](https://github.com/JanssenProject/jans/issues/6099)) ([a85d867](https://github.com/JanssenProject/jans/commit/a85d86743da62c10fef83f2b181d1a992210534f)) + +## [1.0.17](https://github.com/JanssenProject/jans/compare/v1.0.17...v1.0.17) (2023-09-17) + + +### Bug Fixes + +* **docker-jans-fido2:** search cache for session instead of persistence ([#6040](https://github.com/JanssenProject/jans/issues/6040)) ([d8d4073](https://github.com/JanssenProject/jans/commit/d8d40731d935782dc3a8639d055a2440dbdcb3ec)) +* **docker-jans-persistence-loader:** search session by deviceSecret ([#6038](https://github.com/JanssenProject/jans/issues/6038)) ([d299d7f](https://github.com/JanssenProject/jans/commit/d299d7f926e07c7e0af04d5069d51ba9b000393f)) +* **docs:** autogenerate docs ([#6065](https://github.com/JanssenProject/jans/issues/6065)) ([0f3cf5d](https://github.com/JanssenProject/jans/commit/0f3cf5d6c679f02b5a385b72003de2669f2bfb66)) +* prepare for 1.0.17 release ([4ba8c15](https://github.com/JanssenProject/jans/commit/4ba8c151734f02d762e902b46a35cae2d498fa8f)) + +## [1.0.16](https://github.com/JanssenProject/jans/compare/v1.0.16...v1.0.16) (2023-08-02) + + +### Features + +* **jans-cli-tui:** agama-cli ([#5715](https://github.com/JanssenProject/jans/issues/5715)) ([5fec965](https://github.com/JanssenProject/jans/commit/5fec965f18429882ec0dc3686a5f83b6f9fb6086)) + + +### Bug Fixes + +* **docs:** autogenerate docs ([#5749](https://github.com/JanssenProject/jans/issues/5749)) ([9a29ec1](https://github.com/JanssenProject/jans/commit/9a29ec194b80ecbd06a5a9f4ea34434492bb5cd1)) +* **jans-linux-setup:** load test data with setup.properties ([#5723](https://github.com/JanssenProject/jans/issues/5723)) ([b2fa5de](https://github.com/JanssenProject/jans/commit/b2fa5de84c6a9917e0ec0a57a529924b4409ba66)) +* prepare for 1.0.16 release ([042ce79](https://github.com/JanssenProject/jans/commit/042ce7941b9597fade8d5f10e40a89d9e7662315)) +* prepare for 1.0.16 release ([b2649c3](https://github.com/JanssenProject/jans/commit/b2649c33a9857f356f91df2f38787ec56269e6dd)) + +## [1.0.15](https://github.com/JanssenProject/jans/compare/v1.0.15...v1.0.15) (2023-07-12) + + +### Bug Fixes + +* prepare for 1.0.15 release ([0e3cc2f](https://github.com/JanssenProject/jans/commit/0e3cc2f5ea287c2c35f45def54f074daa473ec49)) + +## [1.0.14](https://github.com/JanssenProject/jans/compare/v1.0.14...v1.0.14) (2023-06-12) + + +### Bug Fixes + +* **docker-jans-auth-server:** handle missing secret when comparing contents ([#5187](https://github.com/JanssenProject/jans/issues/5187)) ([f2a373e](https://github.com/JanssenProject/jans/commit/f2a373e95b73d38c8f867fd686152aa18248c392)) +* **docs:** autogenerate docs ([#5225](https://github.com/JanssenProject/jans/issues/5225)) ([9c8e510](https://github.com/JanssenProject/jans/commit/9c8e510e6571362009b4ca422ab946ba711e0122)) +* prepare for 1.0.14 release ([25ccadf](https://github.com/JanssenProject/jans/commit/25ccadf85327ea14685c6066dc6609919e4f2865)) + +## [1.0.13](https://github.com/JanssenProject/jans/compare/v1.0.13...v1.0.13) (2023-05-10) + + +### Bug Fixes + +* **docker-jans-loadtesting-jmeter:** rename incorrect reference to OCI image ([#4908](https://github.com/JanssenProject/jans/issues/4908)) ([7db2c11](https://github.com/JanssenProject/jans/commit/7db2c11c8335a35873c08387060454e8eb30d8e2)) +* **docs:** autogenerate docs ([#4933](https://github.com/JanssenProject/jans/issues/4933)) ([337239b](https://github.com/JanssenProject/jans/commit/337239ba8ae301a83eec58048a3f5141be54c8e6)) +* prepare for 1.0.13 release ([493478e](https://github.com/JanssenProject/jans/commit/493478e71f6231553c998b48c0f163c7f5869da4)) + +## [1.0.12](https://github.com/JanssenProject/jans/compare/v1.0.12...v1.0.12) (2023-04-18) + + +### Features + +* **config-api:** search pattern, client auth response and security fix ([#4595](https://github.com/JanssenProject/jans/issues/4595)) ([4dbfcc2](https://github.com/JanssenProject/jans/commit/4dbfcc241353c4e03672d4103d10768cbc0c5bdd)) + + +### Bug Fixes + +* **docs:** autogenerate docs ([#4652](https://github.com/JanssenProject/jans/issues/4652)) ([e353874](https://github.com/JanssenProject/jans/commit/e35387414ba9a4610a4f5a5e690fb0e26efdacdb)) +* prepare for 1.0.12 release ([6f83197](https://github.com/JanssenProject/jans/commit/6f83197705511c39413456acdc64e9136a97ff39)) + +## [1.0.11](https://github.com/JanssenProject/jans/compare/v1.0.11...v1.0.11) (2023-04-05) + + +### Features + +* backend changes for admin-ui to call licenseSpring apis via. SCAN [#4461](https://github.com/JanssenProject/jans/issues/4461) ([#4462](https://github.com/JanssenProject/jans/issues/4462)) ([3617a95](https://github.com/JanssenProject/jans/commit/3617a95cc9b651691acb8072790784db70e1b152)) + + +### Bug Fixes + +* **docs:** autogenerate docs ([#4486](https://github.com/JanssenProject/jans/issues/4486)) ([a9b3eab](https://github.com/JanssenProject/jans/commit/a9b3eabf749cc5dde98c12ffa1b9a1bb9a8091f6)) +* **jans-linux-setup:** re-orginize creating smtp configuration ([#4457](https://github.com/JanssenProject/jans/issues/4457)) ([5b543cd](https://github.com/JanssenProject/jans/commit/5b543cdab320de7918b9078735cfafff744ede23)) +* prepare for release ([60775c0](https://github.com/JanssenProject/jans/commit/60775c09dc5ab9996bf80c03dcb457861d48dfb1)) + +## [1.0.10](https://github.com/JanssenProject/jans/compare/v1.0.9...v1.0.10) (2023-03-16) + + +### Features + +* **config-api:** agama deployment path param change and client authorization ([#4147](https://github.com/JanssenProject/jans/issues/4147)) ([22323ce](https://github.com/JanssenProject/jans/commit/22323cebe180c6e224baf28d66cb435982880df7)) +* **docker-jans-persistence-loader:** add online_access scope and enable agama engine by default ([#4136](https://github.com/JanssenProject/jans/issues/4136)) ([8c0bbb3](https://github.com/JanssenProject/jans/commit/8c0bbb3b564623407c66ae934be77ca16ac94c42)) +* **docker-jans:** add client auth scopes ([#4156](https://github.com/JanssenProject/jans/issues/4156)) ([1ae907b](https://github.com/JanssenProject/jans/commit/1ae907b3abda9f2df03cfcab805931fdbd1bfc11)) +* include jansDeviceData in SCIM Fido2Resource schema [#4057](https://github.com/JanssenProject/jans/issues/4057) ([#4115](https://github.com/JanssenProject/jans/issues/4115)) ([04436dc](https://github.com/JanssenProject/jans/commit/04436dc9054458350180776c4d8d719028162a98)) +* **jans-auth-server:** added online_access scope to issue session bound refresh token [#3012](https://github.com/JanssenProject/jans/issues/3012) ([#4106](https://github.com/JanssenProject/jans/issues/4106)) ([635f611](https://github.com/JanssenProject/jans/commit/635f6119fdf4cdf3b3aed33515854ef68257c98f)) +* **jans-linux-setup:** enable agama engine by default ([#4131](https://github.com/JanssenProject/jans/issues/4131)) ([7e432dc](https://github.com/JanssenProject/jans/commit/7e432dcde57657d1cfa1cd45bde2206156dc6905)) +* **tent:** support additional params ([#4044](https://github.com/JanssenProject/jans/issues/4044)) ([f521f7a](https://github.com/JanssenProject/jans/commit/f521f7aec58defbf121a817e611f4bff18449882)) + + +### Bug Fixes + +* add custom permissions ([34336ac](https://github.com/JanssenProject/jans/commit/34336ac3799872303b9e4891b2405267ea9b6fd8)) +* **config-api:** smtp password decryption and encryption logic ([#4161](https://github.com/JanssenProject/jans/issues/4161)) ([4aefb0d](https://github.com/JanssenProject/jans/commit/4aefb0d6a4db39d89b87d703a27e0186fa6780f9)) +* **config-api:** user custom attribute changes and agama param changes ([#4123](https://github.com/JanssenProject/jans/issues/4123)) ([291004e](https://github.com/JanssenProject/jans/commit/291004e59248e3205e0113a9f5ce427f259da076)) +* **docker-jans-config-api:** remove licenseSpringCredentials from admin-ui jansConfDyn ([#4125](https://github.com/JanssenProject/jans/issues/4125)) ([2cf8aa0](https://github.com/JanssenProject/jans/commit/2cf8aa01b65c809a9bb6c3576cf949ddd23a5fdd)) +* **docs:** autogenerate docs ([#4200](https://github.com/JanssenProject/jans/issues/4200)) ([e20f399](https://github.com/JanssenProject/jans/commit/e20f399249055d7b0a65f2c807867c0678e0c787)) +* formating issues ([#4119](https://github.com/JanssenProject/jans/issues/4119)) ([c5b89ce](https://github.com/JanssenProject/jans/commit/c5b89ce892ddfd6cf5d7948604d71eadcee73abf)) +* **jans-cli-tui:** dropdown widget raises error if not initial values provided ([#4142](https://github.com/JanssenProject/jans/issues/4142)) ([0aa51eb](https://github.com/JanssenProject/jans/commit/0aa51eba21e1c5edf4d8132a1e804d2bb23567f7)) +* **jans-cli-tui:** working branch 11 ([#3980](https://github.com/JanssenProject/jans/issues/3980)) ([fdba800](https://github.com/JanssenProject/jans/commit/fdba80049e27a2cc89cf12bee960998061fa770e)) +* **jans-fido2:** handling exception fido2 get endpoints by invalid params ([#4139](https://github.com/JanssenProject/jans/issues/4139)) ([a50d2af](https://github.com/JanssenProject/jans/commit/a50d2af5eea4f88632870546eb9e4505cd5c7e2b)) +* **jans-linux-setup:** set jansAuthMode - default acr mode ([#4162](https://github.com/JanssenProject/jans/issues/4162)) ([f7d0489](https://github.com/JanssenProject/jans/commit/f7d0489e47a86ce146846dda2064d378dd4a0897)) +* javadoc errors ([#4088](https://github.com/JanssenProject/jans/issues/4088)) ([be10a09](https://github.com/JanssenProject/jans/commit/be10a09c4293ccd4c2d67db5a13e2660a2fd546c)) +* prepare release for 1.0.10 ([e996926](https://github.com/JanssenProject/jans/commit/e99692692ef04d881468d120f7c7d462568dce36)) +* prevent getFlowByName method crash by refactoring [#4128](https://github.com/JanssenProject/jans/issues/4128) ([#4129](https://github.com/JanssenProject/jans/issues/4129)) ([092989b](https://github.com/JanssenProject/jans/commit/092989b35308b6a2d6c3b6da4f36bab2b5518f64)) +* **terraform-provider-jans:** update terraform module ([#4164](https://github.com/JanssenProject/jans/issues/4164)) ([073ef39](https://github.com/JanssenProject/jans/commit/073ef3931d665d76cee48a2048b01be6c5b8ef25)) +* **terraform-provider-jans:** update terraform provider ([#4148](https://github.com/JanssenProject/jans/issues/4148)) ([92134c8](https://github.com/JanssenProject/jans/commit/92134c826a47a5bcc73456b07b318894d011c609)) +* update chart image repositories ([8eea271](https://github.com/JanssenProject/jans/commit/8eea271c8f790ca33d619dbcd83994bc23a7509f)) + +## [1.0.9](https://github.com/JanssenProject/jans/compare/v1.0.8...v1.0.9) (2023-03-09) + + +### Features + +* **agama:** update gama deployment endpoint to support configuration properties ([#4049](https://github.com/JanssenProject/jans/issues/4049)) ([392525c](https://github.com/JanssenProject/jans/commit/392525c19152fcd916e0c61e70c436a484bf391c)) +* getting license credentials from SCAN ([#4052](https://github.com/JanssenProject/jans/issues/4052)) ([5c563b7](https://github.com/JanssenProject/jans/commit/5c563b7530847b8ec6b3201fb53676003ef107b0)) +* **jans-auth-server:** introduced additional_token_endpoint_auth_method client's property [#3473](https://github.com/JanssenProject/jans/issues/3473) ([#4033](https://github.com/JanssenProject/jans/issues/4033)) ([79dcb60](https://github.com/JanssenProject/jans/commit/79dcb60491ca8fd9685e68fb8d770aef3c7e89ad)) + + +### Bug Fixes + +* **docs:** autogenerate docs ([#4050](https://github.com/JanssenProject/jans/issues/4050)) ([dcbb645](https://github.com/JanssenProject/jans/commit/dcbb64548cc5be5609f27371220406ab1585ff36)) +* **docs:** autogenerate docs ([#4105](https://github.com/JanssenProject/jans/issues/4105)) ([da87cef](https://github.com/JanssenProject/jans/commit/da87cef4efd88796260d123054575c3aceb1ed38)) +* **jans-auth-server:** bad indentation in AS swagger.yaml [#4108](https://github.com/JanssenProject/jans/issues/4108) ([#4109](https://github.com/JanssenProject/jans/issues/4109)) ([cdcefd2](https://github.com/JanssenProject/jans/commit/cdcefd2ed3fbeef21c7d713453b07994c71393fc)) +* **jans-config-api:** getting license credentials from SCAN ([#4055](https://github.com/JanssenProject/jans/issues/4055)) ([407d618](https://github.com/JanssenProject/jans/commit/407d6187a09689a0d9e8b1ffc9ce9dce3fc6e253)) +* prepare 1.0.9 release ([e6ea522](https://github.com/JanssenProject/jans/commit/e6ea52220824bd6b5d2dca0539d9d515dbeda362)) +* prepare 1.0.9 release ([55f7e0c](https://github.com/JanssenProject/jans/commit/55f7e0c308b869c2c4b5668aca751d022138a678)) +* update next SNAPSHOT and dev ([0df0e7a](https://github.com/JanssenProject/jans/commit/0df0e7ae06af64ac477955119c2522f03e0603c3)) + +## [1.0.8](https://github.com/JanssenProject/jans/compare/v1.0.7...v1.0.8) (2023-03-01) + + +### Features + +* add to AS session the data passed in `Finish` ([#3978](https://github.com/JanssenProject/jans/issues/3978)) ([12bedb7](https://github.com/JanssenProject/jans/commit/12bedb756ae978678a77ceabfdc2879b6f9c1429)) +* Include additional attributes on SSA Get endpoint ([#3983](https://github.com/JanssenProject/jans/issues/3983)) ([4fded3e](https://github.com/JanssenProject/jans/commit/4fded3e0ca337bf51176699c7699a7d93bd6d665)) +* **jans-cli-tui:** enable super gluu option ([#3970](https://github.com/JanssenProject/jans/issues/3970)) ([0200751](https://github.com/JanssenProject/jans/commit/020075109f9e204ad35b85a6cd9c0470977b805a)) + + +### Bug Fixes + +* **docker-jans:** add missing logs due to improper configuration ([#3994](https://github.com/JanssenProject/jans/issues/3994)) ([c041f12](https://github.com/JanssenProject/jans/commit/c041f1274296fe89d997e6e3afaf91bc5c0af540)) +* **docker-jans:** resolve required keys_ops_type for generating/rotating keys ([#3990](https://github.com/JanssenProject/jans/issues/3990)) ([0ed67fb](https://github.com/JanssenProject/jans/commit/0ed67fbdd5a9fb6a40072d0a8c027b626e3830b8)) +* fix user publicKey search ([#3982](https://github.com/JanssenProject/jans/issues/3982)) ([d0584dd](https://github.com/JanssenProject/jans/commit/d0584dd3b67039c3bff76649547401e50012cce5)) +* **jans-auth-server:** WebApplicationException is not propagated out of "Update Token" script [#3996](https://github.com/JanssenProject/jans/issues/3996) ([#3997](https://github.com/JanssenProject/jans/issues/3997)) ([d561f14](https://github.com/JanssenProject/jans/commit/d561f14a04fec8f3b8b56d60d53f5954c12482fa)) +* **jans-linux-setup:** install cb before jans installation ([#3981](https://github.com/JanssenProject/jans/issues/3981)) ([dfed3b5](https://github.com/JanssenProject/jans/commit/dfed3b5457cae0bc378f5eaf845a4a5475bdf7e7)) +* **jans-linux-setup:** install ncurses-compat-libs cb backend for el8 ([#3969](https://github.com/JanssenProject/jans/issues/3969)) ([412e07f](https://github.com/JanssenProject/jans/commit/412e07f4fcce17c1a801ab5161f1470dd949bab7)) +* **jans-linux-setup:** start jans-auth after backend ([#3975](https://github.com/JanssenProject/jans/issues/3975)) ([4afbcee](https://github.com/JanssenProject/jans/commit/4afbcee6176aa2efc85c554da07058311f4e3233)) +* **jans-pycloudlib:** split aws secrets when payload is larger than 65536 bytes ([#3971](https://github.com/JanssenProject/jans/issues/3971)) ([bd3d59b](https://github.com/JanssenProject/jans/commit/bd3d59b28259982fc803b0dccdbeda07f328bf92)) +* solved error when generate jwt of ssa return error, but ssa persist in database ([#3985](https://github.com/JanssenProject/jans/issues/3985)) ([768fd04](https://github.com/JanssenProject/jans/commit/768fd0440e87930733cf3a463692823c5a105d4a)) + +## [1.0.7](https://github.com/JanssenProject/jans/compare/v1.0.6...v1.0.7) (2023-02-22) + + +### Features + +* add -key_ops ALL to setup (ref: [#3747](https://github.com/JanssenProject/jans/issues/3747)) ([#3755](https://github.com/JanssenProject/jans/issues/3755)) ([3ce4bb2](https://github.com/JanssenProject/jans/commit/3ce4bb2847e7a776fc344750bb28292e83658cc0)) +* add authentication SG flow tests ([#3877](https://github.com/JanssenProject/jans/issues/3877)) ([d5c3fac](https://github.com/JanssenProject/jans/commit/d5c3fac2ee16d0d8276da880b78cc5e676a2f302)) +* add custom Github External Authenticator script for ADS [#3625](https://github.com/JanssenProject/jans/issues/3625) ([#3626](https://github.com/JanssenProject/jans/issues/3626)) ([f922a7a](https://github.com/JanssenProject/jans/commit/f922a7a7b075a43750dd792a91a11399517dbb9b)) +* add debug SG logging ([#3730](https://github.com/JanssenProject/jans/issues/3730)) ([a0c9ca2](https://github.com/JanssenProject/jans/commit/a0c9ca28e3558a8c85502d134a81d9f5bdd78b12)) +* add fast forward suport to skip step authentication flow [#3582](https://github.com/JanssenProject/jans/issues/3582) ([#3583](https://github.com/JanssenProject/jans/issues/3583)) ([25ee0af](https://github.com/JanssenProject/jans/commit/25ee0af896485d8785595e4679d9e19a671c0bd0)) +* add Jupiter+Weld+Mockito+Extension to Fido2 ([#3875](https://github.com/JanssenProject/jans/issues/3875)) ([0152435](https://github.com/JanssenProject/jans/commit/01524358cbd720ad547c6b0d622c2cc32e76a125)) +* add more loggers ([#3742](https://github.com/JanssenProject/jans/issues/3742)) ([919bc86](https://github.com/JanssenProject/jans/commit/919bc869fd3f2e0be143c5bfddc7ba3629178e86)) +* add project metadata and related handling [#3476](https://github.com/JanssenProject/jans/issues/3476) ([#3584](https://github.com/JanssenProject/jans/issues/3584)) ([b95e53e](https://github.com/JanssenProject/jans/commit/b95e53e5eec972b8acb61bd83e327def1364c66c)) +* add support for postgres testing ([3494925](https://github.com/JanssenProject/jans/commit/34949250f6c06ecf73be30628ee17fecedf70a9d)) +* Change org_id to String type and Add status in get SSA ([#3763](https://github.com/JanssenProject/jans/issues/3763)) ([d01269a](https://github.com/JanssenProject/jans/commit/d01269aa6f51ec9f028da53962d9beaf1cf8a3f9)) +* **config-api:** config api configuration endpoint ([#3648](https://github.com/JanssenProject/jans/issues/3648)) ([c798c4c](https://github.com/JanssenProject/jans/commit/c798c4c5a4756c6ba0466b4eeaa44d0e656098ce)) +* **config-api:** data conversion, audit log and swagger enhancement ([#3588](https://github.com/JanssenProject/jans/issues/3588)) ([a87b75b](https://github.com/JanssenProject/jans/commit/a87b75bb257b00f71ba643bc81ed110e0c914b79)) +* **config-api:** plugin endpoint and audit interceptor ([#3613](https://github.com/JanssenProject/jans/issues/3613)) ([95fadc6](https://github.com/JanssenProject/jans/commit/95fadc6c89c4e91c6d143f0ab9efce0b9395fb14)) +* **config-api:** script default script validation for location ([#3786](https://github.com/JanssenProject/jans/issues/3786)) ([446de9e](https://github.com/JanssenProject/jans/commit/446de9e06b269a5f1b50842bfee4cbcdec9a902f)) +* **docker-jans-configurator:** allow user-defined salt ([#3624](https://github.com/JanssenProject/jans/issues/3624)) ([cf743b7](https://github.com/JanssenProject/jans/commit/cf743b72298cea03b3667909215ca3251ac9f19b)) +* **docker-jans-persistence-loader:** add ssa admin scope ([#3762](https://github.com/JanssenProject/jans/issues/3762)) ([540f619](https://github.com/JanssenProject/jans/commit/540f6196bfe4e5b239486ef5728e381b18d65bc8)) +* **docker-jans:** add support for mounted hybrid properties file ([#3623](https://github.com/JanssenProject/jans/issues/3623)) ([8c58a5a](https://github.com/JanssenProject/jans/commit/8c58a5a9530cc9c44e7009ce3952064f8610cc69)) +* **docker-jans:** change persistence entry check to read configuration ([#3618](https://github.com/JanssenProject/jans/issues/3618)) ([d465c19](https://github.com/JanssenProject/jans/commit/d465c191c8276c5d409e1200ddd7e3a364089e96)) +* **docker-jans:** introduce key_ops when generating keys ([#3770](https://github.com/JanssenProject/jans/issues/3770)) ([2495842](https://github.com/JanssenProject/jans/commit/249584257c3e892f5106d0e3559d1c0caa4a8d77)) +* **docs:** updated swagger for new endpoint get jwt of ssa, also added more documentation for scopes. ([7dcca94](https://github.com/JanssenProject/jans/commit/7dcca948f9953a76bf76417d9db02c1775d57074)) +* **jans-auth-server:** add configurable rotation of client's registration access token [#3578](https://github.com/JanssenProject/jans/issues/3578) ([#3876](https://github.com/JanssenProject/jans/issues/3876)) ([83183c0](https://github.com/JanssenProject/jans/commit/83183c0f99b24eebd29f379c0a06dee1c6a12e29)) +* **jans-auth-server:** added dynamicRegistrationDefaultCustomAttributes to provide default custom attributes during dcr [#3595](https://github.com/JanssenProject/jans/issues/3595) ([#3596](https://github.com/JanssenProject/jans/issues/3596)) ([6202230](https://github.com/JanssenProject/jans/commit/6202230fceec5b72f1541e70cf0833f58bc9ab76)) +* **jans-auth-server:** added flexible date formatter handler to AS (required by certification tools) [#3600](https://github.com/JanssenProject/jans/issues/3600) ([#3601](https://github.com/JanssenProject/jans/issues/3601)) ([f646d73](https://github.com/JanssenProject/jans/commit/f646d734d79f9da83cfe51103811efd1f8677d7f)) +* **jans-auth-server:** added flexible formatter handler for IdTokenFactory class ([#3605](https://github.com/JanssenProject/jans/issues/3605)) ([f4b0179](https://github.com/JanssenProject/jans/commit/f4b017911cd72718c942bc87e3324e903d755406)) +* **jans-auth-server:** added sector_identifier_uri content validation (certification) [#3639](https://github.com/JanssenProject/jans/issues/3639) ([#3641](https://github.com/JanssenProject/jans/issues/3641)) ([2583e53](https://github.com/JanssenProject/jans/commit/2583e534219541312aba99178fef4c60e44b76bf)) +* **jans-auth-server:** introduced key_ops for granular map of crypto service to rotation profile [#3415](https://github.com/JanssenProject/jans/issues/3415) ([#3642](https://github.com/JanssenProject/jans/issues/3642)) ([58693c5](https://github.com/JanssenProject/jans/commit/58693c5a8d6bc485a4f3645a2b4a77394d87e141)) +* **jans-auth-server:** new endpoint for get jwt of ssa based on jti. ([#3724](https://github.com/JanssenProject/jans/issues/3724)) ([7dcca94](https://github.com/JanssenProject/jans/commit/7dcca948f9953a76bf76417d9db02c1775d57074)) +* **jans-auth-server:** OAuth 2.0 Step-up - added acr and auth_time [#2589](https://github.com/JanssenProject/jans/issues/2589) ([#3887](https://github.com/JanssenProject/jans/issues/3887)) ([2bd7a67](https://github.com/JanssenProject/jans/commit/2bd7a67b41a4f9311906101a752d2b9d5800f20d)) +* **jans-auth-server:** OAuth 2.0 Step-up - added acr and auth_time to introspection response [#2589](https://github.com/JanssenProject/jans/issues/2589) ([#3885](https://github.com/JanssenProject/jans/issues/3885)) ([a325998](https://github.com/JanssenProject/jans/commit/a32599869a497fe578658a0743786e9658adfa35)) +* **jans-auth-server:** provide ability to ignore/bypass prompt=consent [#3721](https://github.com/JanssenProject/jans/issues/3721) ([#3851](https://github.com/JanssenProject/jans/issues/3851)) ([c0286ba](https://github.com/JanssenProject/jans/commit/c0286bae1e2540530d74b0f40f2d48c2490c22a2)) +* **jans-auth-server:** provided ability to set scriptDns related attributes of client (e.g. introspectionScripts) [#3645](https://github.com/JanssenProject/jans/issues/3645) ([#3668](https://github.com/JanssenProject/jans/issues/3668)) ([cee2525](https://github.com/JanssenProject/jans/commit/cee252522061b43065eddbdc70d51bda9e2e85d7)) +* **jans-auth-server:** provided convenient method to add claim to AT as JWT in modifyAccessToken() method [#3579](https://github.com/JanssenProject/jans/issues/3579) ([#3629](https://github.com/JanssenProject/jans/issues/3629)) ([cf0a824](https://github.com/JanssenProject/jans/commit/cf0a824c50d00b5b1d87ce6c9b72b4865cf0ae93)) +* **jans-auth-server:** renamed "key_ops" -> "key_ops_type" [#3790](https://github.com/JanssenProject/jans/issues/3790) ([#3791](https://github.com/JanssenProject/jans/issues/3791)) ([cadb3d6](https://github.com/JanssenProject/jans/commit/cadb3d6731c5148f1d56c66c000577b113cc8cb8)) +* **jans-auth-server:** renamed "key_ops" -> "key_ops_type" [#3790](https://github.com/JanssenProject/jans/issues/3790) ([#3792](https://github.com/JanssenProject/jans/issues/3792)) ([7a6bcba](https://github.com/JanssenProject/jans/commit/7a6bcba5ca3597f7556d406e4a572c76a229bbdf)) +* **jans-auth-server:** use key_ops=ssa to generate jwt from ssa ([#3806](https://github.com/JanssenProject/jans/issues/3806)) ([2603bbb](https://github.com/JanssenProject/jans/commit/2603bbb1080345cab4fe814dca39024d8d0b5434)) +* jans-linux-setup create test client with all available scopes ([#3696](https://github.com/JanssenProject/jans/issues/3696)) ([c2da52e](https://github.com/JanssenProject/jans/commit/c2da52e539cc2edf7e2792d507d02bd7886a901f)) +* jans-linux-setup spanner rest client ([#3436](https://github.com/JanssenProject/jans/issues/3436)) ([e4d1d0c](https://github.com/JanssenProject/jans/commit/e4d1d0cc69dad7176d35af4608fd46c4c73ad4ba)) +* jans-linux-setup ssa admin scope ([#3759](https://github.com/JanssenProject/jans/issues/3759)) ([485f7b4](https://github.com/JanssenProject/jans/commit/485f7b4c1718f9f088be9931d3b0312b78727bca)) +* **jans-tent:** add Jans Tent product ([#3647](https://github.com/JanssenProject/jans/issues/3647)) ([80c53e0](https://github.com/JanssenProject/jans/commit/80c53e0ae890ff5eef926b93af16dff6886f6b86)) +* optmize cleander job ([#3737](https://github.com/JanssenProject/jans/issues/3737)) ([2a864d9](https://github.com/JanssenProject/jans/commit/2a864d98b0d3e1983aead62ef9f95e6191248de5)) +* process lib directory in `.gama` files for ADS projects deployment ([#3644](https://github.com/JanssenProject/jans/issues/3644)) ([40268ad](https://github.com/JanssenProject/jans/commit/40268adda27ab2929115e3e2117d43fed499a2ce)) +* support cancel request ([#3733](https://github.com/JanssenProject/jans/issues/3733)) ([2741e51](https://github.com/JanssenProject/jans/commit/2741e511bc7244a764a43d4dd8d4bb13da87aabb)) +* Support Super Gluu one step authentication to Fido2 server [#3593](https://github.com/JanssenProject/jans/issues/3593) ([#3599](https://github.com/JanssenProject/jans/issues/3599)) ([c013b16](https://github.com/JanssenProject/jans/commit/c013b161f2eb47f5952cbb80c8740f8d62d302c3)) +* **terraform-provider-jans:** update terraform module ([#3813](https://github.com/JanssenProject/jans/issues/3813)) ([605dd16](https://github.com/JanssenProject/jans/commit/605dd1643f6a2abe86757510baa1558a4504110d)) + + +### Bug Fixes + +* add init containers for adjusting ownership on upgrade ([e20e817](https://github.com/JanssenProject/jans/commit/e20e817d136c15ad7606635d42b11d1089368af6)) +* add init containers for opendj ([0264df2](https://github.com/JanssenProject/jans/commit/0264df2b58fd23ca3adce3aaf2805805a9e9b855)) +* auto installing of the GithubAuthenticatorForADS.py has been removed; ([#3889](https://github.com/JanssenProject/jans/issues/3889)) ([bd6b7ad](https://github.com/JanssenProject/jans/commit/bd6b7ad89d16ae8f80c25c6b375860132de7c97e)) +* cbor data stream lenght calculatro return wrong lengh [#3614](https://github.com/JanssenProject/jans/issues/3614) ([#3615](https://github.com/JanssenProject/jans/issues/3615)) ([22065ea](https://github.com/JanssenProject/jans/commit/22065ea14fcaa523531a738f53d6659a790155c5)) +* **config-api:** agama swagger spec and admin-ui web key issue ([#3831](https://github.com/JanssenProject/jans/issues/3831)) ([1593997](https://github.com/JanssenProject/jans/commit/159399760c85146c50b54006e7331035de93c42d)) +* **config-api:** fixed start-up issue due to scope objectclass case ([#3697](https://github.com/JanssenProject/jans/issues/3697)) ([eac6440](https://github.com/JanssenProject/jans/commit/eac644071d1ca711564ae07361e66dd6aad84366)) +* **config-api:** plugin result subsequent call ([#3633](https://github.com/JanssenProject/jans/issues/3633)) ([3e4d513](https://github.com/JanssenProject/jans/commit/3e4d5130db1d0166272772300024880e5603c7be)) +* **config-api:** user service conflict with fido2 and script enhancement ([#3767](https://github.com/JanssenProject/jans/issues/3767)) ([5753d39](https://github.com/JanssenProject/jans/commit/5753d3989b96d76699f234cc87f58e355ba313b0)) +* **docker-jans-monolith:** use test client and secret ([42c9556](https://github.com/JanssenProject/jans/commit/42c95562cdfe250be893c4f363dc74aadbf05bb7)) +* **docker-jans-persistence-loader:** add missing persist tokens config when upgrading from previous version ([#3849](https://github.com/JanssenProject/jans/issues/3849)) ([5b8036d](https://github.com/JanssenProject/jans/commit/5b8036dff57423f36ffa6f47bdd7a150db55d51e)) +* **docker-jans:** handle failure on running API requests to Kubernetes API server in Google Cloud Run ([#3893](https://github.com/JanssenProject/jans/issues/3893)) ([a31dee3](https://github.com/JanssenProject/jans/commit/a31dee3fa43be70c64f267fc86f8162b9b48dce2)) +* **fido2-client:** conflict of log4j config ([#3636](https://github.com/JanssenProject/jans/issues/3636)) ([77412d5](https://github.com/JanssenProject/jans/commit/77412d5ca1be8dd99797489db22a4e22c7a5cc13)) +* fix authenticatorData encoding ([#3815](https://github.com/JanssenProject/jans/issues/3815)) ([687cb2a](https://github.com/JanssenProject/jans/commit/687cb2a3b12980f360a113c88e7cc295c1a4a752)) +* fix fmt name ([#3900](https://github.com/JanssenProject/jans/issues/3900)) ([4a6a0c1](https://github.com/JanssenProject/jans/commit/4a6a0c19126220ae783a343d4fe1a54c99ed4475)) +* fixes for cancel support ([#3735](https://github.com/JanssenProject/jans/issues/3735)) ([3e64530](https://github.com/JanssenProject/jans/commit/3e64530f3196e4f396c7e8a95d6fd722efa9a816)) +* **jans-auth-server:** added testng to agama-inbound [#3714](https://github.com/JanssenProject/jans/issues/3714) ([#3719](https://github.com/JanssenProject/jans/issues/3719)) ([955ac8c](https://github.com/JanssenProject/jans/commit/955ac8c8170988a405e9905bcd5e3b654992f53a)) +* **jans-auth-server:** AS complication fails on main [#3863](https://github.com/JanssenProject/jans/issues/3863) ([#3864](https://github.com/JanssenProject/jans/issues/3864)) ([e2aa1a6](https://github.com/JanssenProject/jans/commit/e2aa1a6c1b5bd0577f3a09b44f2fd5bfb7fc85de)) +* **jans-auth-server:** corrected issue caught by RegisterRequestTest [#3683](https://github.com/JanssenProject/jans/issues/3683) ([#3684](https://github.com/JanssenProject/jans/issues/3684)) ([3e201d8](https://github.com/JanssenProject/jans/commit/3e201d89d0a9974e31fe76ec4fd4c4eb5ea82664)) +* **jans-auth-server:** error from introspection interception script is not propagated during AT as JWT creation [#3904](https://github.com/JanssenProject/jans/issues/3904) ([#3905](https://github.com/JanssenProject/jans/issues/3905)) ([8c551c0](https://github.com/JanssenProject/jans/commit/8c551c0c09aaaf13898e047e7c30c96531d37518)) +* **jans-auth-server:** jansApp attribute only relevant for SG ([#3782](https://github.com/JanssenProject/jans/issues/3782)) ([6153a13](https://github.com/JanssenProject/jans/commit/6153a139d584e69088f8d9202ce072ae10a2dc73)) +* **jans-auth-server:** key_ops in jwks must be array [#3777](https://github.com/JanssenProject/jans/issues/3777) ([#3778](https://github.com/JanssenProject/jans/issues/3778)) ([2be2a03](https://github.com/JanssenProject/jans/commit/2be2a0346d7ed0541bb540e3c2ff32aa3a04dcf7)) +* **jans-auth-server:** provided corrected public key for outdated keystores during id_token creation if key_ops_type is absent [#3840](https://github.com/JanssenProject/jans/issues/3840) ([#3841](https://github.com/JanssenProject/jans/issues/3841)) ([3291eab](https://github.com/JanssenProject/jans/commit/3291eab88622d036b174ed2199fcedc2dd274e96)) +* **jans-auth-server:** wrong Client Authn Method at token endpoint throws npe [#3503](https://github.com/JanssenProject/jans/issues/3503) ([#3598](https://github.com/JanssenProject/jans/issues/3598)) ([e3bd1e8](https://github.com/JanssenProject/jans/commit/e3bd1e8a8baf8925c77555944c88864c1d38cc95)) +* jans-cli-tui documentation and setup ([#3818](https://github.com/JanssenProject/jans/issues/3818)) ([74660db](https://github.com/JanssenProject/jans/commit/74660db65cb2e1b3c2a039a3296cfc6df11ba1af)) +* jans-cli-tui include pyproject.toml (ref: [#3804](https://github.com/JanssenProject/jans/issues/3804)) ([#3835](https://github.com/JanssenProject/jans/issues/3835)) ([f250372](https://github.com/JanssenProject/jans/commit/f250372eb42d613d72be63ca4098fc3762cef995)) +* jans-cli-tui rename config-api swagger file ([#3758](https://github.com/JanssenProject/jans/issues/3758)) ([a7e14a0](https://github.com/JanssenProject/jans/commit/a7e14a00c373661abafc1a59a7bba30b89c66108)) +* jans-cli-tui SSA org_id, status and software_roles ([#3765](https://github.com/JanssenProject/jans/issues/3765)) ([4bd3e9a](https://github.com/JanssenProject/jans/commit/4bd3e9a6bcba66307dd682a71708ed113bfdd302)) +* jans-cli-tui typo ([#3846](https://github.com/JanssenProject/jans/issues/3846)) ([aaab377](https://github.com/JanssenProject/jans/commit/aaab377deb34504bb12014aaa3c544b0dfaca252)) +* jans-cli-tui typo organisation ([#3853](https://github.com/JanssenProject/jans/issues/3853)) ([58a974b](https://github.com/JanssenProject/jans/commit/58a974bae20cea8113e9537c2d27864964c1b84c)) +* jans-cli-tui working branch 4 - many different improvements ([#3504](https://github.com/JanssenProject/jans/issues/3504)) ([e572552](https://github.com/JanssenProject/jans/commit/e572552d2d09b7100679c5d06ddf07fab8383641)) +* jans-cli-tui working branch 5 ([#3649](https://github.com/JanssenProject/jans/issues/3649)) ([4d3f982](https://github.com/JanssenProject/jans/commit/4d3f982f38cc51854f5a41b6cf1d6076766c3937)) +* jans-cli-tui working branch 6 ([#3794](https://github.com/JanssenProject/jans/issues/3794)) ([afea59d](https://github.com/JanssenProject/jans/commit/afea59d3195ea1b1fbf0c64f7f35a3467626edf6)) +* jans-cli-tui working branch 7 ([#3824](https://github.com/JanssenProject/jans/issues/3824)) ([776bab3](https://github.com/JanssenProject/jans/commit/776bab37c1eab6fd548232504538078854ae546d)) +* **jans-cli-tui:** working branch 9 ([#3871](https://github.com/JanssenProject/jans/issues/3871)) ([9f16d75](https://github.com/JanssenProject/jans/commit/9f16d75e4de5d1e3ccca6b21f004ecf6a219daae)) +* **jans-config-api:** Fixing runtime ambiguity for RegistrationPersistenceService.java ([#3756](https://github.com/JanssenProject/jans/issues/3756)) ([83c7b50](https://github.com/JanssenProject/jans/commit/83c7b50fd6f49e7613273d9b03d8c950ff13593d)) +* **jans-config-api:** runtime exceptions in config-api at startup ([#3725](https://github.com/JanssenProject/jans/issues/3725)) ([8748cc3](https://github.com/JanssenProject/jans/commit/8748cc35b29cce68ac6c5f61fd7b918be765047d)) +* **jans-fido2:** RegistrationPersistenceService implemntation ([#3728](https://github.com/JanssenProject/jans/issues/3728)) ([d5b8b67](https://github.com/JanssenProject/jans/commit/d5b8b67e10bd6d9bc93d831bef8198f406873b0e)) +* jans-linux-setup add twilio and jans-fido2 client libraries to jans-auth ([#3716](https://github.com/JanssenProject/jans/issues/3716)) ([4f43328](https://github.com/JanssenProject/jans/commit/4f433288fd46dcc0357e0fd7c4e40cc64842ce51)) +* jans-linux-setup conversion fails for null integer field ([#3610](https://github.com/JanssenProject/jans/issues/3610)) ([207946c](https://github.com/JanssenProject/jans/commit/207946cad8f1b50b9bcb9a0e2f8539d335127492)) +* jans-linux-setup downgrade cryptography ([#3635](https://github.com/JanssenProject/jans/issues/3635)) ([c7b5e3b](https://github.com/JanssenProject/jans/commit/c7b5e3b01de61807143877a166213554a98d42ea)) +* jans-linux-setup downgrade jwt for py3.6 ([#3621](https://github.com/JanssenProject/jans/issues/3621)) ([322f752](https://github.com/JanssenProject/jans/commit/322f752ee15934d15b0398dae03dfd3d341129e0)) +* jans-linux-setup external libs in jans-fido2.xml ([#3627](https://github.com/JanssenProject/jans/issues/3627)) ([8d4783b](https://github.com/JanssenProject/jans/commit/8d4783b7495c0793aad140f78bd1ad06a4aac932)) +* jans-linux-setup installation without test client ([#3706](https://github.com/JanssenProject/jans/issues/3706)) ([e45f19e](https://github.com/JanssenProject/jans/commit/e45f19e6b4d750578cf14fb28eeb8e6c7e67174a)) +* jans-linux-setup key_ops_type for key regeneration tool (ref: [#3881](https://github.com/JanssenProject/jans/issues/3881)) ([#3882](https://github.com/JanssenProject/jans/issues/3882)) ([51c0750](https://github.com/JanssenProject/jans/commit/51c07503eaf97455875ba7436299b04aaecb61c3)) +* jans-linux-setup ldif property objectClass should be case sensitive ([#3702](https://github.com/JanssenProject/jans/issues/3702)) ([0dc14a0](https://github.com/JanssenProject/jans/commit/0dc14a0680f159e72ab8093c8a26865aea1cd33c)) +* jans-linux-setup rename config-api swagger file ([#3678](https://github.com/JanssenProject/jans/issues/3678)) ([4615973](https://github.com/JanssenProject/jans/commit/46159736811dca62ba05f6b80478734d6262c047)) +* jans-linux-setup rename role_based_client as tui_client ([#3630](https://github.com/JanssenProject/jans/issues/3630)) ([b331ef3](https://github.com/JanssenProject/jans/commit/b331ef32b49c870e0a972fc0463e954939317f88)) +* jans-linux-setup save test_client_id to setup.properties ([#3844](https://github.com/JanssenProject/jans/issues/3844)) ([d1d898c](https://github.com/JanssenProject/jans/commit/d1d898c949e91b457c347f68a56b938238247b07)) +* jans-linux-setup script locatipn is db ([#3788](https://github.com/JanssenProject/jans/issues/3788)) ([4381928](https://github.com/JanssenProject/jans/commit/438192893dc3e091de60fc711dd219054dad374a)) +* jans-linux-setup script locatipn is db openbanking ([#3789](https://github.com/JanssenProject/jans/issues/3789)) ([697efc5](https://github.com/JanssenProject/jans/commit/697efc505d6d5f8be04f47d9e46f65ac28ca6ddc)) +* jans-linux-setup sync test client variable names ([#3862](https://github.com/JanssenProject/jans/issues/3862)) ([fe7e24c](https://github.com/JanssenProject/jans/commit/fe7e24cfe18e0263e3e38dc8dd6eacad6c1bf21f)) +* jans-linux-setup test client fixes ([#3699](https://github.com/JanssenProject/jans/issues/3699)) ([72e2f3f](https://github.com/JanssenProject/jans/commit/72e2f3f27b73c009ce68de68e3df484596f3595e)) +* **jans-pycloudlib:** avoid overwritten data by using merge strategy for AWS wrappers ([#3832](https://github.com/JanssenProject/jans/issues/3832)) ([cf0d4e3](https://github.com/JanssenProject/jans/commit/cf0d4e3cff9478496fe1e63f9d4113c3dc81abe9)) +* **jans-pycloudlib:** avoid overwritten data by using merge strategy for Google wrappers ([#3826](https://github.com/JanssenProject/jans/issues/3826)) ([809b9db](https://github.com/JanssenProject/jans/commit/809b9dbf08b4ed3ad1b0e545302502bf731298be)) +* **jans-pycloudlib:** split google secrets when payload is larger than 65536 bytes ([#3890](https://github.com/JanssenProject/jans/issues/3890)) ([a86b098](https://github.com/JanssenProject/jans/commit/a86b098699e554f31f170d60de978f7797f76730)) +* license overwrite ([055d72b](https://github.com/JanssenProject/jans/commit/055d72baa4799624876228661cd94f85d5b04e9c)) +* missing comma delimiter for Postgres index fields ([#3741](https://github.com/JanssenProject/jans/issues/3741)) ([1a2d298](https://github.com/JanssenProject/jans/commit/1a2d298c5b4911bfaccdf80203df1a919ff7a6b8)) +* opendj jans vlume mount ([4de4815](https://github.com/JanssenProject/jans/commit/4de4815d587fb51d367d1ccd03143e4df3297ac4)) +* opendj statefulset permissions ([0d9a2a7](https://github.com/JanssenProject/jans/commit/0d9a2a735e96d00e6a4245dd86457039819fc7e2)) +* prepare 1.0.7 release ([ce02fd9](https://github.com/JanssenProject/jans/commit/ce02fd9322ab49d5bea4f6e88f316f931e9d2169)) +* remove upgrade flag ([bee17a7](https://github.com/JanssenProject/jans/commit/bee17a7a69de7872ee54ea1edc3dd01a7da21417)) +* rename role_based_client as tui_client ([#3657](https://github.com/JanssenProject/jans/issues/3657)) ([c393cb2](https://github.com/JanssenProject/jans/commit/c393cb2052f7e73cc6a02b84bbc673bcc93dc13d)) +* store correct script revision after script reload from file ([#3704](https://github.com/JanssenProject/jans/issues/3704)) ([2ca6a83](https://github.com/JanssenProject/jans/commit/2ca6a833132b129c29924106ed65db430917cb8c)), closes [#3703](https://github.com/JanssenProject/jans/issues/3703) +* **tent:** remove unknown module refference ([#3802](https://github.com/JanssenProject/jans/issues/3802)) ([b01a015](https://github.com/JanssenProject/jans/commit/b01a015323b8b89209898ce1fb9b3f82b4731382)) +* **terraform-provider-jans:** update terraform module ([#3869](https://github.com/JanssenProject/jans/issues/3869)) ([30e3c67](https://github.com/JanssenProject/jans/commit/30e3c67f4412af81cba85710db0b092119fa87e5)) +* update configmaps ENVs ([a797c61](https://github.com/JanssenProject/jans/commit/a797c6139da3f5ada9c054ef596a4a13b94f8a1b)) + +## [1.0.6](https://github.com/JanssenProject/jans/compare/v1.0.5...v1.0.6) (2023-01-09) + + +### Features + +* add attributes and branch for ADS deployments [#3095](https://github.com/JanssenProject/jans/issues/3095) ([#3228](https://github.com/JanssenProject/jans/issues/3228)) ([2dc9267](https://github.com/JanssenProject/jans/commit/2dc9267423f464414b19718e5c2daa9f58283863)) +* add benchmark demo ([#3325](https://github.com/JanssenProject/jans/issues/3325)) ([26bbb0c](https://github.com/JanssenProject/jans/commit/26bbb0ca2ef9ec5ac72f80ee3641d222036d55b2)) +* add endpoint to do syntax check only [#3277](https://github.com/JanssenProject/jans/issues/3277) ([#3299](https://github.com/JanssenProject/jans/issues/3299)) ([3b23636](https://github.com/JanssenProject/jans/commit/3b236360ca7e2c3d7edcae9c356ffd2b193c42c2)) +* add endpoints for MVP ADS projects management [#3094](https://github.com/JanssenProject/jans/issues/3094) ([#3262](https://github.com/JanssenProject/jans/issues/3262)) ([8546356](https://github.com/JanssenProject/jans/commit/8546356c7b6ee2e7f1fcc83f8fcafb889179c769)) +* added custom resource owner password script fro two-factor twilio authentication ([#3208](https://github.com/JanssenProject/jans/issues/3208)) ([eae0ca1](https://github.com/JanssenProject/jans/commit/eae0ca1704da961de84e7a7ce665a7c3b0bb3567)) +* **agama:** deploy flows from .gama files ([#3250](https://github.com/JanssenProject/jans/issues/3250)) ([df14f8a](https://github.com/JanssenProject/jans/commit/df14f8aee022ae14746af6ebd15dbca9622a4086)) +* changes in admin-ui plugin to allow agama-developer-studio to use its OAuth2 apis [#3085](https://github.com/JanssenProject/jans/issues/3085) ([#3298](https://github.com/JanssenProject/jans/issues/3298)) ([9e9a7bd](https://github.com/JanssenProject/jans/commit/9e9a7bd17c9b7238b7e65359ffdd5f6b0474e9d1)) +* **config-api:** audit log, agama ADS spec, fix for 0 index search ([#3369](https://github.com/JanssenProject/jans/issues/3369)) ([ea04e2c](https://github.com/JanssenProject/jans/commit/ea04e2ce5d83d4840638cd2e137fcbc67ee69c81)) +* **config-api:** client claim enhancement, manual spec removed ([#3413](https://github.com/JanssenProject/jans/issues/3413)) ([bd2cdf8](https://github.com/JanssenProject/jans/commit/bd2cdf8501d60959498078bbb31650965c321c73)) +* **config-api:** health check response rectification and Agama ADS swagger spec ([#3293](https://github.com/JanssenProject/jans/issues/3293)) ([faf2888](https://github.com/JanssenProject/jans/commit/faf2888f3d58d14fc6361d5a9ff5f743984cea4f)) +* **docker-jans:** add admin-ui scopes ([#3530](https://github.com/JanssenProject/jans/issues/3530)) ([bc62673](https://github.com/JanssenProject/jans/commit/bc626739bf7a2ed10e7551eda6ea4cc45e7ea49a)) +* **docker-jans:** enable prefix and group for stdout logs ([#3481](https://github.com/JanssenProject/jans/issues/3481)) ([e7684e7](https://github.com/JanssenProject/jans/commit/e7684e7f6da7c789d03311fe2df855c687aa7fa6)) +* **docs:** jans TUI SCIM configuration -- screenshot ([#3318](https://github.com/JanssenProject/jans/issues/3318)) ([7b463b0](https://github.com/JanssenProject/jans/commit/7b463b01ec36153948110a59010fb9a4b347eae9)) +* **docs:** jans TUI SCIM configuration feature - screenshot1 ([#3306](https://github.com/JanssenProject/jans/issues/3306)) ([d1adc98](https://github.com/JanssenProject/jans/commit/d1adc9826dee5bfaf4e36c6a080684e803d869ce)) +* **docs:** jans TUI SCIM configuration feature ([#3305](https://github.com/JanssenProject/jans/issues/3305)) ([70e358e](https://github.com/JanssenProject/jans/commit/70e358e49949cec50a1784dc229678451b95c424)) +* **jans-auth-server:** added ability to return error out of introspection and update_token custom script [#3255](https://github.com/JanssenProject/jans/issues/3255) ([#3356](https://github.com/JanssenProject/jans/issues/3356)) ([a3e5227](https://github.com/JanssenProject/jans/commit/a3e522745a28fddb3cb6677a553350868fcbaa45)) +* **jans-auth-server:** added externalUriWhiteList configuration property before call external uri from AS [#3130](https://github.com/JanssenProject/jans/issues/3130) ([#3425](https://github.com/JanssenProject/jans/issues/3425)) ([6c7df6f](https://github.com/JanssenProject/jans/commit/6c7df6fc955812599a49937f98a6746d05b0badf)) +* **jans-auth-server:** avoid compilation problem when version is flipped in test code [#3148](https://github.com/JanssenProject/jans/issues/3148) ([#3210](https://github.com/JanssenProject/jans/issues/3210)) ([4d61c7b](https://github.com/JanssenProject/jans/commit/4d61c7b1c5be70acd855f68ff51123342ac94490)) +* **jans-auth-server:** block authentication flow originating from a webview ([#3204](https://github.com/JanssenProject/jans/issues/3204)) ([e48380e](https://github.com/JanssenProject/jans/commit/e48380e68653cd4bd25ec2265225e4900e20bec1)) +* **jans-auth-server:** draft for - improve dcr / ssa validation for dynamic registration [#2980](https://github.com/JanssenProject/jans/issues/2980) ([#3109](https://github.com/JanssenProject/jans/issues/3109)) ([233a78c](https://github.com/JanssenProject/jans/commit/233a78c8e48fb8de353629bc16fc6af1d80fb910)) +* **jans-auth-server:** end session - if id_token is expired but signature is correct, we should make attempt to look up session by "sid" claim [#3231](https://github.com/JanssenProject/jans/issues/3231) ([#3291](https://github.com/JanssenProject/jans/issues/3291)) ([cd11750](https://github.com/JanssenProject/jans/commit/cd11750c064e4f18d7df759f8271338a7d079ad0)) +* **jans-auth-server:** implemented auth server config property to disable prompt=login [#3006](https://github.com/JanssenProject/jans/issues/3006) ([#3522](https://github.com/JanssenProject/jans/issues/3522)) ([0233cd1](https://github.com/JanssenProject/jans/commit/0233cd161f07e793c9565d40338078b09d2c12c3)) +* **jans-auth-server:** new configuration for userinfo has been added ([#3349](https://github.com/JanssenProject/jans/issues/3349)) ([3ccc4a9](https://github.com/JanssenProject/jans/commit/3ccc4a9ad8486a0795d733bf8961999bad319438)) +* **jans-auth-server:** remove ox properties name ([#3285](https://github.com/JanssenProject/jans/issues/3285)) ([f70b207](https://github.com/JanssenProject/jans/commit/f70b207ecff565ff53e3efb13d897937d9aeaee0)) +* **jans-auth-server:** renamed "code"->"random" uniqueness claims of id_token to avoid confusion with Authorization Code Flow [#3466](https://github.com/JanssenProject/jans/issues/3466) ([#3467](https://github.com/JanssenProject/jans/issues/3467)) ([dd9d049](https://github.com/JanssenProject/jans/commit/dd9d049d67bdd608dd3aea33c301817dd4cb0d8c)) +* **jans-config-api:** added admin-ui scopes in config-api-rs-protect.json ([c348ae6](https://github.com/JanssenProject/jans/commit/c348ae6a44bf59eec5a3f20b2984f7f245cff307)) +* **jans-core:** add AES utility class [#3215](https://github.com/JanssenProject/jans/issues/3215) ([#3242](https://github.com/JanssenProject/jans/issues/3242)) ([7e59795](https://github.com/JanssenProject/jans/commit/7e59795e21bc63b173802346b614e7ae6112de4e)) +* jans-linux-setup script for adding sequenced users to rdbm backend ([#3311](https://github.com/JanssenProject/jans/issues/3311)) ([63c74ec](https://github.com/JanssenProject/jans/commit/63c74ecd05f4be9bac2caaa281e10157b3e6ea37)) +* problems with handling custom attributes [#2752](https://github.com/JanssenProject/jans/issues/2752) ([#3378](https://github.com/JanssenProject/jans/issues/3378)) ([3028a94](https://github.com/JanssenProject/jans/commit/3028a94b8c7ef4eead7f45ea6b91b9e1a72e6368)) + + +### Bug Fixes + +* [#2201](https://github.com/JanssenProject/jans/issues/2201) ([#3365](https://github.com/JanssenProject/jans/issues/3365)) ([ebca16b](https://github.com/JanssenProject/jans/commit/ebca16bc8dae14b86582ed584292eb610efd0621)) +* [#2201](https://github.com/JanssenProject/jans/issues/2201) ([#3451](https://github.com/JanssenProject/jans/issues/3451)) ([0417c2a](https://github.com/JanssenProject/jans/commit/0417c2a641a810dacee6fcd3dfc2a0d71eb32142)) +* [#2201](https://github.com/JanssenProject/jans/issues/2201) removing an irrelevant head from mkdocs ([#3478](https://github.com/JanssenProject/jans/issues/3478)) ([9771205](https://github.com/JanssenProject/jans/commit/9771205d29658c74d6a1f2954c8c59eba7f9ab65)) +* add 'java' to the list of restricted variable names [#3533](https://github.com/JanssenProject/jans/issues/3533) ([#3534](https://github.com/JanssenProject/jans/issues/3534)) ([a970d88](https://github.com/JanssenProject/jans/commit/a970d88d81f920973f3ba812db97448f135090a9)) +* add link to api reference ([#3394](https://github.com/JanssenProject/jans/issues/3394)) ([f091045](https://github.com/JanssenProject/jans/commit/f0910452b33f24dc220d5123c853f11326a920df)) +* **agama:** after moving agama to jans-auth-server agama model tests are not run [#3246](https://github.com/JanssenProject/jans/issues/3246) ([#3247](https://github.com/JanssenProject/jans/issues/3247)) ([9887e23](https://github.com/JanssenProject/jans/commit/9887e2333a4482100f28ccf448f99e07059490ac)) +* **agama:** fix agama auth dependency which blocks build process [#3149](https://github.com/JanssenProject/jans/issues/3149) ([#3244](https://github.com/JanssenProject/jans/issues/3244)) ([8f9fee3](https://github.com/JanssenProject/jans/commit/8f9fee31c66ce08046258694e5e2d83a31e38b5d)) +* **agama:** fixing tests run on jenkins [#3149](https://github.com/JanssenProject/jans/issues/3149) ([#3261](https://github.com/JanssenProject/jans/issues/3261)) ([cc6c5e1](https://github.com/JanssenProject/jans/commit/cc6c5e12f5deb17a5c0353fc765a50d1603c74a1)) +* app_info.json value of JANS_BUILD ([#3199](https://github.com/JanssenProject/jans/issues/3199)) ([fe35e85](https://github.com/JanssenProject/jans/commit/fe35e855b91eac0a63903199f96dd4c6996cdce0)) +* Broken swagger address. ([843f78b](https://github.com/JanssenProject/jans/commit/843f78b7a0d7cb27b07a041a76d07e61430e6ab1)) +* catch org.eclipse.jetty.http.BadMessageException: in ([#3330](https://github.com/JanssenProject/jans/issues/3330)) ([1e0ff76](https://github.com/JanssenProject/jans/commit/1e0ff760651f5e3cd25044566835dbd20d4ab2c3)), closes [#3329](https://github.com/JanssenProject/jans/issues/3329) +* docs/requirements.txt to reduce vulnerabilities ([#3523](https://github.com/JanssenProject/jans/issues/3523)) ([82efd8f](https://github.com/JanssenProject/jans/commit/82efd8f503bc2966483f07fff2a77f5c1321c7a2)) +* **docs:** jans logging configuration - VM Operation Guide - 1 ([#3348](https://github.com/JanssenProject/jans/issues/3348)) ([e0f8c71](https://github.com/JanssenProject/jans/commit/e0f8c7120e8074ae54ff3abb9b4e654cdde64e44)) +* **docs:** jans TUI administration -- Config Guide - TUI -- Auth server ([#3227](https://github.com/JanssenProject/jans/issues/3227)) ([16ab709](https://github.com/JanssenProject/jans/commit/16ab709cca92620a409611521885c14029b8ba0d)) +* **docs:** jans TUI configuration -- Auth Server - TUI - image ([#3237](https://github.com/JanssenProject/jans/issues/3237)) ([3fbc9e7](https://github.com/JanssenProject/jans/commit/3fbc9e7d08ff0c9ef55f009dea77e675d652ee7e)) +* **docs:** jans TUI configuration -- Config Guide - Auth Server - Client configuration - TUI ([#3233](https://github.com/JanssenProject/jans/issues/3233)) ([ee8e056](https://github.com/JanssenProject/jans/commit/ee8e0564a1eeadaee12ab80078c3802822ab4d1a)) +* **docs:** jans TUI configuration -- Fido - TUI ([#3251](https://github.com/JanssenProject/jans/issues/3251)) ([cd6eef1](https://github.com/JanssenProject/jans/commit/cd6eef1503375c39468d82263e0e342b3aace5be)) +* **docs:** jans TUI configuration -- Fido Administration - TUI ([#3252](https://github.com/JanssenProject/jans/issues/3252)) ([a371cda](https://github.com/JanssenProject/jans/commit/a371cda85da66a956ca2d0a15200a6c6d2c29ca0)) +* **docs:** jans TUI installation -- Config Guide - TUI ([#3224](https://github.com/JanssenProject/jans/issues/3224)) ([cc00a71](https://github.com/JanssenProject/jans/commit/cc00a71af6b82ca969b62a835a24733041ac676d)) +* **docs:** missing single quotes ([#3239](https://github.com/JanssenProject/jans/issues/3239)) ([9f38c6a](https://github.com/JanssenProject/jans/commit/9f38c6a216a0dd4afdbec4080f312180ab7858b3)) +* fix format string [#3278](https://github.com/JanssenProject/jans/issues/3278) ([#3281](https://github.com/JanssenProject/jans/issues/3281)) ([7104d9c](https://github.com/JanssenProject/jans/commit/7104d9c205900e08d85043aa23d4b00460861b3f)) +* fix token indexes and clnId type ([#3434](https://github.com/JanssenProject/jans/issues/3434)) ([4a18904](https://github.com/JanssenProject/jans/commit/4a18904ebfc3c3562a3e2308ae3a7bf200c0d1bc)) +* generate javadpcs envproperty ([9182aa5](https://github.com/JanssenProject/jans/commit/9182aa5c2769070620f2a70cf72bf20a1b3a8bcd)) +* hash ([cdb5204](https://github.com/JanssenProject/jans/commit/cdb52047c5847e2eafbaf2f7692211e72b8fde12)) +* hash ([156fb2f](https://github.com/JanssenProject/jans/commit/156fb2f697dd4f292659ad9963e7044a7137a583)) +* jans-auth-server/pom.xml to reduce vulnerabilities ([#3314](https://github.com/JanssenProject/jans/issues/3314)) ([f3e8205](https://github.com/JanssenProject/jans/commit/f3e82051bcd47346986ba250b169a0cf5684b4ec)) +* **jans-auth-server:** changed getAttributeValues to getAttributeObjectValues ([#3346](https://github.com/JanssenProject/jans/issues/3346)) ([a39b61e](https://github.com/JanssenProject/jans/commit/a39b61e6e686680e2b45b10e25b36fa41a4de76a)) +* **jans-auth-server:** compilation error of server side tests [#3363](https://github.com/JanssenProject/jans/issues/3363) ([#3364](https://github.com/JanssenProject/jans/issues/3364)) ([e83c087](https://github.com/JanssenProject/jans/commit/e83c087a168367ef146b1e42a75d7325da05b695)) +* **jans-auth-server:** corrected keys description "id_token <purpose>" -> "Connect " [#3415](https://github.com/JanssenProject/jans/issues/3415) ([#3560](https://github.com/JanssenProject/jans/issues/3560)) ([75f99bd](https://github.com/JanssenProject/jans/commit/75f99bdf2bb676e607b86a71cf4b00a2e51ba251)) +* **jans-auth-server:** Duplicate iss and aud on introspection as jwt [#3366](https://github.com/JanssenProject/jans/issues/3366) ([#3387](https://github.com/JanssenProject/jans/issues/3387)) ([8780e94](https://github.com/JanssenProject/jans/commit/8780e944f120a7f0d8edfb329e31f44a9b99d94a)) +* **jans-auth-server:** parse string from object ([#3470](https://github.com/JanssenProject/jans/issues/3470)) ([db9b204](https://github.com/JanssenProject/jans/commit/db9b204d1bca9604086a841137c598bbe3ebffe4)) +* **jans-auth-server:** when obtain new token using refresh token, check whether scope is null ([#3382](https://github.com/JanssenProject/jans/issues/3382)) ([22743d9](https://github.com/JanssenProject/jans/commit/22743d9fce0c99e794be0eb3969341987b1936ee)) +* jans-cli-tui ([#3287](https://github.com/JanssenProject/jans/issues/3287)) ([27e7518](https://github.com/JanssenProject/jans/commit/27e7518922aff6434bf9a87392e246af8f44d9ac)) +* jans-cli-tui refactor mouse operations ([#3482](https://github.com/JanssenProject/jans/issues/3482)) ([39dc0c7](https://github.com/JanssenProject/jans/commit/39dc0c7b3e0b66e1180e5b8c8c165f992c711555)) +* jans-config-api/pom.xml to reduce vulnerabilities ([#3005](https://github.com/JanssenProject/jans/issues/3005)) ([3e642c2](https://github.com/JanssenProject/jans/commit/3e642c2ebbd6d17c84bdec940e403d9b37affc38)) +* **jans-config-api:** corrected broken swagger address ([#3505](https://github.com/JanssenProject/jans/issues/3505)) ([843f78b](https://github.com/JanssenProject/jans/commit/843f78b7a0d7cb27b07a041a76d07e61430e6ab1)) +* jans-eleven/pom.xml to reduce vulnerabilities ([#3315](https://github.com/JanssenProject/jans/issues/3315)) ([813cf98](https://github.com/JanssenProject/jans/commit/813cf983ecfb6ddc19ace5a07c2233ebca327999)) +* jans-linux setup enable couchbase for packages ([#3249](https://github.com/JanssenProject/jans/issues/3249)) ([8f72ea6](https://github.com/JanssenProject/jans/commit/8f72ea6b111925b5aa262c6a96c665cb6ffa0709)) +* jans-linux-setup agama test data file locations ([#3313](https://github.com/JanssenProject/jans/issues/3313)) ([a39fc69](https://github.com/JanssenProject/jans/commit/a39fc6979117cdb173e60af57a3e78c467670c18)) +* jans-linux-setup centos/rhel pgsql installation ([#3404](https://github.com/JanssenProject/jans/issues/3404)) ([f168fbc](https://github.com/JanssenProject/jans/commit/f168fbcbf98fb70ddbd4a0e4cb9854484579ac3c)) +* jans-linux-setup copy libs directory of agama test data ([#3376](https://github.com/JanssenProject/jans/issues/3376)) ([6a5322d](https://github.com/JanssenProject/jans/commit/6a5322d2fb8362d6ceaab589707b61ffcf89140b)) +* jans-linux-setup enable mysqld on boot for el8 ([#3456](https://github.com/JanssenProject/jans/issues/3456)) ([30d082a](https://github.com/JanssenProject/jans/commit/30d082a60817e7b17bdbb2a05afa3abe7ea39880)) +* jans-linux-setup load test data with jans-auth only ([#3432](https://github.com/JanssenProject/jans/issues/3432)) ([f696fee](https://github.com/JanssenProject/jans/commit/f696fee7b82c417a6cfce03c31e50fcf969b37b5)) +* jans-linux-setup longtext for pgsql ([#3266](https://github.com/JanssenProject/jans/issues/3266)) ([547cee8](https://github.com/JanssenProject/jans/commit/547cee89a40763c847244d770ea07366efa051a1)) +* jans-linux-setup opPolicyUri and opTosUri ([#3411](https://github.com/JanssenProject/jans/issues/3411)) ([67e1d22](https://github.com/JanssenProject/jans/commit/67e1d22c1a2de2576d7891ff89bb0a964b149c6a)) +* jans-linux-setup remove dependency to removed dependency yaml ([#3422](https://github.com/JanssenProject/jans/issues/3422)) ([8385c96](https://github.com/JanssenProject/jans/commit/8385c962895e668ae5b6b499ee9d3091574d4209)) +* jans-linux-setup set db component based on dn ([#3290](https://github.com/JanssenProject/jans/issues/3290)) ([8d743f2](https://github.com/JanssenProject/jans/commit/8d743f21c0f723c2891155711a13ec8f5300b08a)) +* jans-linux-setup start mysql server before jans-auth on SUSE ([#3500](https://github.com/JanssenProject/jans/issues/3500)) ([3822975](https://github.com/JanssenProject/jans/commit/382297560c344ebd1559c4c3f89595450a98fffa)) +* login page doesn't display the correct localized characters ([#3528](https://github.com/JanssenProject/jans/issues/3528)) ([395b376](https://github.com/JanssenProject/jans/commit/395b3769750d2d32f624060c0b6e6ceeee7df0be)), closes [#1660](https://github.com/JanssenProject/jans/issues/1660) +* minor ([#3334](https://github.com/JanssenProject/jans/issues/3334)) ([3225455](https://github.com/JanssenProject/jans/commit/32254553a7bb5c58f265f29c3613ecc8f81f44b8)) +* modify clnId column type ([#3459](https://github.com/JanssenProject/jans/issues/3459)) ([701394c](https://github.com/JanssenProject/jans/commit/701394c3d7463ffb2bd223daf9662921244ad34d)) +* prepare for 1.0.6 release ([9e4c8fb](https://github.com/JanssenProject/jans/commit/9e4c8fb4c0a1ef4779934558e8d8d40d8fedbabf)) +* remove multiple sed commands ([#3526](https://github.com/JanssenProject/jans/issues/3526)) ([2b906db](https://github.com/JanssenProject/jans/commit/2b906db77cebe2ce2e8c5af1bd40aa23c4181691)) +* TUI client pre-authorized ([#3399](https://github.com/JanssenProject/jans/issues/3399)) ([ab30953](https://github.com/JanssenProject/jans/commit/ab3095340d82c0b5b5b5342b0e21273b03017524)) +* upgrade org.apache.httpcomponents:httpcore from 4.4.6 to 4.4.15 ([#642](https://github.com/JanssenProject/jans/issues/642)) ([069dceb](https://github.com/JanssenProject/jans/commit/069dceb5be540288e833628019c4265cd7a85344)) +* upgrade org.mvel:mvel2 from 2.1.3.Final to 2.4.14.Final ([#648](https://github.com/JanssenProject/jans/issues/648)) ([c4034d1](https://github.com/JanssenProject/jans/commit/c4034d12f2bbd9396cc1824f8e485163b4407f68)) +* use correct Ubuntu version in README ([#3393](https://github.com/JanssenProject/jans/issues/3393)) ([2673ccd](https://github.com/JanssenProject/jans/commit/2673ccdf72d48a7cdf72d230820fb16119985d76)) +* user attributes not updated [#2753](https://github.com/JanssenProject/jans/issues/2753) ([#3326](https://github.com/JanssenProject/jans/issues/3326)) ([c0a0f66](https://github.com/JanssenProject/jans/commit/c0a0f66870e6f4c38dc3a336f1f8b783f4c911ca)) +* user attributes not updated [#2753](https://github.com/JanssenProject/jans/issues/2753) ([#3403](https://github.com/JanssenProject/jans/issues/3403)) ([f793f92](https://github.com/JanssenProject/jans/commit/f793f92fa275da2e57b2302dcb5c6fdb27666e67)) + +## [1.0.5](https://github.com/JanssenProject/jans/compare/v1.0.4...v1.0.5) (2022-12-01) + + +### Features + +* add custom annotation for configuration property and feature flag documentation ([#2852](https://github.com/JanssenProject/jans/issues/2852)) ([9991d1c](https://github.com/JanssenProject/jans/commit/9991d1ce1fe1b8ce3a65a72e0a72aeee78ba6c2e)) +* add feature to include custom-claims in user-info endpoint of admin-ui plugin [#2969](https://github.com/JanssenProject/jans/issues/2969) ([#2970](https://github.com/JanssenProject/jans/issues/2970)) ([0549879](https://github.com/JanssenProject/jans/commit/054987944d91fe2021092c30b337e880421533ff)) +* add jans cli tui ([#2384](https://github.com/JanssenProject/jans/issues/2384)) ([c9c502b](https://github.com/JanssenProject/jans/commit/c9c502b5328677bd3ef4895acf296aa3e05bb333)) +* allow to use like with lower together ([#2944](https://github.com/JanssenProject/jans/issues/2944)) ([1807629](https://github.com/JanssenProject/jans/commit/1807629b93a6dfba691183ad0185e19f981727ee)) +* **charts:** add pdb and topology spread constrants ([ce575c2](https://github.com/JanssenProject/jans/commit/ce575c260989f4fb4405e54bb0c8ae86d0c48c26)) +* documentation for ssa and remove softwareRoles query param of get ssa ([#3031](https://github.com/JanssenProject/jans/issues/3031)) ([d8e14eb](https://github.com/JanssenProject/jans/commit/d8e14ebbeee357c8c2c31808243cf82933ae4a9b)) +* **image:** preserve attribute's values in jans-auth config ([#3013](https://github.com/JanssenProject/jans/issues/3013)) ([3e9e7fc](https://github.com/JanssenProject/jans/commit/3e9e7fc56c8d7890920d5e99f8c28f291afcf207)) +* jans cli to jans-cli-tui ([#3063](https://github.com/JanssenProject/jans/issues/3063)) ([fc20e28](https://github.com/JanssenProject/jans/commit/fc20e287feb4cc1b7bb983c44e25a8ae936580f0)) +* **jans-auth-server:** check offline_access implementation has all conditions defined in spec [#1945](https://github.com/JanssenProject/jans/issues/1945) ([#3004](https://github.com/JanssenProject/jans/issues/3004)) ([af30e4c](https://github.com/JanssenProject/jans/commit/af30e4c438372fffb7a3ac78a6aea5988af43d5f)) +* **jans-auth-server:** corrected GluuOrganization - refactor getOrganizationName() [#2947](https://github.com/JanssenProject/jans/issues/2947) ([#2948](https://github.com/JanssenProject/jans/issues/2948)) ([9275576](https://github.com/JanssenProject/jans/commit/9275576ed0f925fcd3dbaf06e155e7185c797015)) +* **jans-auth-server:** java docs for ssa ([#2995](https://github.com/JanssenProject/jans/issues/2995)) ([892b87a](https://github.com/JanssenProject/jans/commit/892b87a2af5fa82ba4f5dceb38baba28e2029182)) +* **jans-auth-server:** remove redirect uri on client registration when grant types is password or client credentials ([#3076](https://github.com/JanssenProject/jans/issues/3076)) ([cd876b4](https://github.com/JanssenProject/jans/commit/cd876b46e6bbdec865f5cd1cfe40c2f3b2ca293c)) +* **jans-auth-server:** specify minimum acr for clients [#343](https://github.com/JanssenProject/jans/issues/343) ([#3083](https://github.com/JanssenProject/jans/issues/3083)) ([b0034ec](https://github.com/JanssenProject/jans/commit/b0034ec509ace1a4e30a7e9c6dd23dca48178c62)) +* **jans-auth-server:** swagger docs for ssa ([#2953](https://github.com/JanssenProject/jans/issues/2953)) ([7f93bca](https://github.com/JanssenProject/jans/commit/7f93bca9ff101d85f1ae389602f99c7c6af9bc17)) +* **jans-auth-server:** updated mau on refreshing access token [#2955](https://github.com/JanssenProject/jans/issues/2955) ([#3025](https://github.com/JanssenProject/jans/issues/3025)) ([56de619](https://github.com/JanssenProject/jans/commit/56de61974ae0d2a3d8382191c2aae479a062e9b2)) +* jans-linux-setup include permission of all user roles ([#3009](https://github.com/JanssenProject/jans/issues/3009)) ([62a421d](https://github.com/JanssenProject/jans/commit/62a421df821067432cbcced0e89cc2a410cd40be)) +* **jans-pycloudlib:** add AWS Secrets Manager support for configuration layers ([#3112](https://github.com/JanssenProject/jans/issues/3112)) ([0522e61](https://github.com/JanssenProject/jans/commit/0522e61809b9052adce4fdb0db77e2d71558144e)) + + +### Bug Fixes + +* (jans-auth-server): fixed Client serialization/deserialization issue [#2946](https://github.com/JanssenProject/jans/issues/2946) ([#3064](https://github.com/JanssenProject/jans/issues/3064)) ([31b5bfc](https://github.com/JanssenProject/jans/commit/31b5bfc2d626a94998c6e0a1d9121579858437e3)) +* (jans-auth-server): fixed client's sortby [#3075](https://github.com/JanssenProject/jans/issues/3075) ([#3079](https://github.com/JanssenProject/jans/issues/3079)) ([e6b0e58](https://github.com/JanssenProject/jans/commit/e6b0e58c7336c2c6537fb55557527abe09ab0811)) +* [#2487](https://github.com/JanssenProject/jans/issues/2487) - fido script, doc already moved to script-catalog ([#2982](https://github.com/JanssenProject/jans/issues/2982)) ([10d8df5](https://github.com/JanssenProject/jans/commit/10d8df5480853a0545dbe6350f494d6b4abf3661)) +* [#2487](https://github.com/JanssenProject/jans/issues/2487) - irrelevant folder, agama script is in agama-bridge ([#2993](https://github.com/JanssenProject/jans/issues/2993)) ([d19b13a](https://github.com/JanssenProject/jans/commit/d19b13ab31e1dbfee9288c6569b289eae213b528)) +* [#2487](https://github.com/JanssenProject/jans/issues/2487) - removing inwebo ([#2975](https://github.com/JanssenProject/jans/issues/2975)) ([052f91f](https://github.com/JanssenProject/jans/commit/052f91fd45c888efb7480fc7cd403dc005ceca23)) +* [#2487](https://github.com/JanssenProject/jans/issues/2487) - SIWA and SIWG (Sign in with Apple-Google), moved to script-catalog ([#2983](https://github.com/JanssenProject/jans/issues/2983)) ([402e7ae](https://github.com/JanssenProject/jans/commit/402e7aebd20322ef465a3805d3834c7174bc9bbc)) +* [#2487](https://github.com/JanssenProject/jans/issues/2487) removing duplicated files ([#3007](https://github.com/JanssenProject/jans/issues/3007)) ([9f3d051](https://github.com/JanssenProject/jans/commit/9f3d051308e7b29e5f112e74601aa05c42ed559c)) +* [#2487](https://github.com/JanssenProject/jans/issues/2487) scripts-catalog folder restructuring ([#2999](https://github.com/JanssenProject/jans/issues/2999)) ([7b66f2b](https://github.com/JanssenProject/jans/commit/7b66f2b27517ba560555f64d0ab4e49f10ddb374)) +* [#2666](https://github.com/JanssenProject/jans/issues/2666) ([#3011](https://github.com/JanssenProject/jans/issues/3011)) ([f98cbc5](https://github.com/JanssenProject/jans/commit/f98cbc5d43b12b56b81debd367fcfdfdc75830e4)) +* client-name, logout, user ([#3122](https://github.com/JanssenProject/jans/issues/3122)) ([f374831](https://github.com/JanssenProject/jans/commit/f3748312dc72288d9eea9cf1efba8f2afb5278a9)) +* **config-api:** error handling for agama get and org patch ([#3028](https://github.com/JanssenProject/jans/issues/3028)) ([21dd6e5](https://github.com/JanssenProject/jans/commit/21dd6e5f273e968245508d6a03a8ac7b6cfd3125)) +* **config-api:** fix for swagger spec for scope creation and sessoin endpoint filter ([#2949](https://github.com/JanssenProject/jans/issues/2949)) ([2989f1d](https://github.com/JanssenProject/jans/commit/2989f1dc151a77ecc66408ccccdfbb18d3b9dca8)) +* **config-api:** swagger update for enum and error handling ([#2934](https://github.com/JanssenProject/jans/issues/2934)) ([6b61556](https://github.com/JanssenProject/jans/commit/6b61556b49cca96622c2e59b1e99244a7eaae3ab)) +* **demo:** incorrect URL to helm charts location ([#2935](https://github.com/JanssenProject/jans/issues/2935)) ([b7e395b](https://github.com/JanssenProject/jans/commit/b7e395be337a0acca396dd4c684b7b1629a2304a)) +* disable github authentication and interception scripts by default and other changes. [#3022](https://github.com/JanssenProject/jans/issues/3022) ([#3023](https://github.com/JanssenProject/jans/issues/3023)) ([13f5998](https://github.com/JanssenProject/jans/commit/13f599830c0d6b48bd1cd6f71f3d200ec6bddfe7)) +* ensure non-empty array is generated [#2672](https://github.com/JanssenProject/jans/issues/2672) ([#3047](https://github.com/JanssenProject/jans/issues/3047)) ([47902bd](https://github.com/JanssenProject/jans/commit/47902bd8a5c7fe60cbac6f819787ee90726ac4a0)) +* getting ready for a release ([0bda832](https://github.com/JanssenProject/jans/commit/0bda832ebc1da7017231deb38fe9aa6c7c51360a)) +* **jans-auth-server:** corrected regression made in token request [#2921](https://github.com/JanssenProject/jans/issues/2921) ([#2922](https://github.com/JanssenProject/jans/issues/2922)) ([deeae74](https://github.com/JanssenProject/jans/commit/deeae748aa465e3789114a93eee251628f9d365b)) +* **jans-auth-server:** wrong import in GluuOrganization class which leads to failure on jans-config-api [#2957](https://github.com/JanssenProject/jans/issues/2957) ([#2958](https://github.com/JanssenProject/jans/issues/2958)) ([af4eda8](https://github.com/JanssenProject/jans/commit/af4eda83147b3fb13f3cc97153d6186c7dcdda74)) +* **jans-auth-server:** wrong userinfo_encryption_enc_values_supported in OpenID Configuration [#2725](https://github.com/JanssenProject/jans/issues/2725) ([#2951](https://github.com/JanssenProject/jans/issues/2951)) ([bc1a8ca](https://github.com/JanssenProject/jans/commit/bc1a8ca8b2c7e3b286f2762d9e84205f402cce4a)) +* jans-cli-docs update links ([#3118](https://github.com/JanssenProject/jans/issues/3118)) ([04fbb98](https://github.com/JanssenProject/jans/commit/04fbb982324cf8849eb3cfac6800f917c63d5300)) +* **jans-config-api:** user attributes not updated [#2753](https://github.com/JanssenProject/jans/issues/2753) ([082cfe3](https://github.com/JanssenProject/jans/commit/082cfe32dca1321a333c520a142b95cab1cfa0d8)) +* **jans-config-api:** user attributes not updated [#2753](https://github.com/JanssenProject/jans/issues/2753) ([#3110](https://github.com/JanssenProject/jans/issues/3110)) ([803468b](https://github.com/JanssenProject/jans/commit/803468b895e022bbb20ec1975f11aafd08a214f2)) +* **jans-fido2:** [#1120](https://github.com/JanssenProject/jans/issues/1120) ([#2928](https://github.com/JanssenProject/jans/issues/2928)) ([0fea95a](https://github.com/JanssenProject/jans/commit/0fea95a181811de2f592debcec5af76f9adda5b2)) +* **jans-fido2:** [#2840](https://github.com/JanssenProject/jans/issues/2840) ([#2974](https://github.com/JanssenProject/jans/issues/2974)) ([d3351e1](https://github.com/JanssenProject/jans/commit/d3351e141fa546074ad98891e655247a0c23e30a)) +* **jans-fido2:** [#2971](https://github.com/JanssenProject/jans/issues/2971) ([#2972](https://github.com/JanssenProject/jans/issues/2972)) ([2f15cf8](https://github.com/JanssenProject/jans/commit/2f15cf8aba64410fe1dd0ef71e9860ae0ec919bd)) +* jans-linux-setup fido2 script placeholder in scripts template ([#2986](https://github.com/JanssenProject/jans/issues/2986)) ([70a4fe0](https://github.com/JanssenProject/jans/commit/70a4fe0d4b6ee958cfaa0b1598092da0fde38620)) +* jans-linux-setup remove opendj sysv script ([#2998](https://github.com/JanssenProject/jans/issues/2998)) ([13eebe4](https://github.com/JanssenProject/jans/commit/13eebe4bdcbc059eb40b3e33b9bfb4a2830e8a0b)) +* jans-linux-setup service description for jans-auth ([#2989](https://github.com/JanssenProject/jans/issues/2989)) ([6566d27](https://github.com/JanssenProject/jans/commit/6566d272de1e2fdcb5040df6d1616bd3164ebdab)) +* **jans:** added null check to avoid NullPointerException ([#3077](https://github.com/JanssenProject/jans/issues/3077)) ([42d49b2](https://github.com/JanssenProject/jans/commit/42d49b2ac2ffb50086b5941c93c810cdbaff75ea)) +* the admin-ui role/permission/mapping delete apis are not protected by appropriate permissions [#2991](https://github.com/JanssenProject/jans/issues/2991) ([#2992](https://github.com/JanssenProject/jans/issues/2992)) ([7d68021](https://github.com/JanssenProject/jans/commit/7d680219c1db037fa4ee137a5d7241753c32b20a)) +* typo ([#2950](https://github.com/JanssenProject/jans/issues/2950)) ([6df810b](https://github.com/JanssenProject/jans/commit/6df810b36c68303f458f694e4ba6ec9c3768364c)) + +## [1.0.4](https://github.com/JanssenProject/jans/compare/v1.0.3...v1.0.4) (2022-11-08) + + +### Features + +* for file based scripts check both script revision and file ([#2878](https://github.com/JanssenProject/jans/issues/2878)) ([97ab071](https://github.com/JanssenProject/jans/commit/97ab0712e39605520b3ac8fb8df1c00bf0437797)) +* **jans-auth-server:** added token exchange support to client [#2518](https://github.com/JanssenProject/jans/issues/2518) ([#2855](https://github.com/JanssenProject/jans/issues/2855)) ([943d99f](https://github.com/JanssenProject/jans/commit/943d99f2784e671d361c66c1ddb82c10f567a698)) +* **jans-auth-server:** ssa validation endpoint ([#2842](https://github.com/JanssenProject/jans/issues/2842)) ([de8a86e](https://github.com/JanssenProject/jans/commit/de8a86ed1eb29bd02546e9e22fc6f668ac3217c4)) +* ssa revoke endpoint ([#2865](https://github.com/JanssenProject/jans/issues/2865)) ([9c68f91](https://github.com/JanssenProject/jans/commit/9c68f914e155de492e54121033c8f0ed45d66817)) + + +### Bug Fixes + +* [#2825](https://github.com/JanssenProject/jans/issues/2825) ([#2828](https://github.com/JanssenProject/jans/issues/2828)) ([5ce21aa](https://github.com/JanssenProject/jans/commit/5ce21aac5df54d2fe9402479fd221fffe9dc77ef)) +* avoid NPE when configuration is missing [#2857](https://github.com/JanssenProject/jans/issues/2857) ([#2863](https://github.com/JanssenProject/jans/issues/2863)) ([4a27091](https://github.com/JanssenProject/jans/commit/4a2709185bd7ba84c3230cb94d4efea940681742)) +* **config-api:** fixes for client creation, enum handling ([#2854](https://github.com/JanssenProject/jans/issues/2854)) ([3121493](https://github.com/JanssenProject/jans/commit/312149393337ff2b2c794053a729c0f0919caa31)) +* fix OR filters join when sub-filters uses lower ([#2850](https://github.com/JanssenProject/jans/issues/2850)) ([3dc6b32](https://github.com/JanssenProject/jans/commit/3dc6b329aacbb6958efd834c85143231595b0d99)) +* **image:** add missing write access in filesystem ([#2846](https://github.com/JanssenProject/jans/issues/2846)) ([db4670d](https://github.com/JanssenProject/jans/commit/db4670d3adabc38b42411fe11bdcb6d6a9b4a0bd)), closes [#2844](https://github.com/JanssenProject/jans/issues/2844) +* **image:** multiple dynamic scopes created when using 2 replicas ([#2871](https://github.com/JanssenProject/jans/issues/2871)) ([5e0f1e6](https://github.com/JanssenProject/jans/commit/5e0f1e69023da264333e3786fcf994539054be71)) +* **jans-auth-server:** fix language metadata format ([#2883](https://github.com/JanssenProject/jans/issues/2883)) ([e21e206](https://github.com/JanssenProject/jans/commit/e21e206df16b048b1743c3ee441d9fbdb1f8c67e)) +* jans-linux-setup render webapps.xml ([#2839](https://github.com/JanssenProject/jans/issues/2839)) ([ed8fa84](https://github.com/JanssenProject/jans/commit/ed8fa8462b69b37f44d0e5b5bb65345ea96ecc45)) +* **pycloudlib:** searching values from spanner returns empty set ([#2833](https://github.com/JanssenProject/jans/issues/2833)) ([861a065](https://github.com/JanssenProject/jans/commit/861a0657233f271ffa41c908ce68a2206ed970fd)) + +## 1.0.3 (2022-11-01) + + +### Features + +* add inum claim in profile scope [#2095](https://github.com/JanssenProject/jans/issues/2095) ([#2096](https://github.com/JanssenProject/jans/issues/2096)) ([f67c32e](https://github.com/JanssenProject/jans/commit/f67c32e7891f95c7a00ad0fa263444214dcaecd5)) +* add new methods to allow get/set list of custom attributes from ([#2105](https://github.com/JanssenProject/jans/issues/2105)) ([5ac23a1](https://github.com/JanssenProject/jans/commit/5ac23a18adf3b34fd41fd1199ab168bfc9602fc6)), closes [#2104](https://github.com/JanssenProject/jans/issues/2104) +* admin-ui apis refactoring [#2388](https://github.com/JanssenProject/jans/issues/2388) ([#2390](https://github.com/JanssenProject/jans/issues/2390)) ([c7b26e9](https://github.com/JanssenProject/jans/commit/c7b26e90430a1db5d4788d510fc8bf5ce63c4fd3)) +* **agama:** add utility classes for inbound identity ([#2204](https://github.com/JanssenProject/jans/issues/2204)) ([29f58ee](https://github.com/JanssenProject/jans/commit/29f58ee0e6c84b4af5493cabcb19167bc7ffbe40)) +* **agama:** add utility classes for inbound identity ([#2231](https://github.com/JanssenProject/jans/issues/2231)) ([96e32a4](https://github.com/JanssenProject/jans/commit/96e32a407ec6c545b73a6fd103ed2ae5876bd500)) +* **agama:** add utility classes for inbound identity ([#2280](https://github.com/JanssenProject/jans/issues/2280)) ([ca6fdc9](https://github.com/JanssenProject/jans/commit/ca6fdc90256e4ef103bf50dc27cb694c940ba70b)) +* **agama:** add utility classes for inbound identity ([#2417](https://github.com/JanssenProject/jans/issues/2417)) ([2878bdd](https://github.com/JanssenProject/jans/commit/2878bdd737b4bd7f8f080113826a4bc4bf49ffba)) +* **config-api:** multiple pattern handling for search request ([#2590](https://github.com/JanssenProject/jans/issues/2590)) ([46886fb](https://github.com/JanssenProject/jans/commit/46886fb1ec80724ddb0b948fc25f4554566ee8ab)) +* **config-api:** multiple pattern search in attribute api ([#2491](https://github.com/JanssenProject/jans/issues/2491)) ([9f646ff](https://github.com/JanssenProject/jans/commit/9f646ff066b9bcb6525e77e29664832e5f20077e)) +* disable TLS in CB client by default ([#2167](https://github.com/JanssenProject/jans/issues/2167)) ([8ec5dd3](https://github.com/JanssenProject/jans/commit/8ec5dd3dc9818a53949468389a1918ed385c28a9)) +* **docker-jans-fido2:** allow creating initial persistence entry ([#2029](https://github.com/JanssenProject/jans/issues/2029)) ([41dfab7](https://github.com/JanssenProject/jans/commit/41dfab7a6d09d10b05954d4f5fae2437eb81a885)) +* **docker-jans-monolith:** add docker jans monolith ([#2323](https://github.com/JanssenProject/jans/issues/2323)) ([ba511c3](https://github.com/JanssenProject/jans/commit/ba511c3e23230da4f924ec48ea5d8fb9e02027f9)) +* **docker-jans-scim:** allow creating initial persistence entry ([#2035](https://github.com/JanssenProject/jans/issues/2035)) ([e485618](https://github.com/JanssenProject/jans/commit/e4856186d566f9ac7b08395b59cd75e389e5c161)) +* fix susrefire tests in filter module ([#2141](https://github.com/JanssenProject/jans/issues/2141)) ([118d77c](https://github.com/JanssenProject/jans/commit/118d77cd7025dcbe3031bc41450ec285afff4b9f)) +* generate zip files with CB/Spanner dependencies ([#2715](https://github.com/JanssenProject/jans/issues/2715)) ([e4e2670](https://github.com/JanssenProject/jans/commit/e4e2670a33c6753ab2309ee473ab6b23fe5577d2)) +* **image:** add custom libs for couchbase and spanner persistence ([#2784](https://github.com/JanssenProject/jans/issues/2784)) ([db559dd](https://github.com/JanssenProject/jans/commit/db559ddc5e74cc7387720af7f084766c054541b5)) +* **image:** add token-exchange and device secret ([#2788](https://github.com/JanssenProject/jans/issues/2788)) ([87c4676](https://github.com/JanssenProject/jans/commit/87c467631a60567d6de8d3ed8d9815be85f4f1d0)) +* **image:** generate scopes from swagger/openapi files ([#2759](https://github.com/JanssenProject/jans/issues/2759)) ([63722ea](https://github.com/JanssenProject/jans/commit/63722ea7372f33bf2ad2c3ff01b068383e81e746)) +* **jans-auth-server:** add access_token_singing_alg_values_supported to discovery [#2372](https://github.com/JanssenProject/jans/issues/2372) ([#2403](https://github.com/JanssenProject/jans/issues/2403)) ([3784c83](https://github.com/JanssenProject/jans/commit/3784c837073c7a45871efc11dac1b721ae710cf1)) +* **jans-auth-server:** added allowSpontaneousScopes AS json config [#2074](https://github.com/JanssenProject/jans/issues/2074) ([#2111](https://github.com/JanssenProject/jans/issues/2111)) ([3083a3f](https://github.com/JanssenProject/jans/commit/3083a3f28f6d6c6a9de319f23fd745ac69477249)) +* **jans-auth-server:** added convenient idTokenLifetime client property [#2656](https://github.com/JanssenProject/jans/issues/2656) ([#2668](https://github.com/JanssenProject/jans/issues/2668)) ([f97bfce](https://github.com/JanssenProject/jans/commit/f97bfceae5917442e7d6c3134e5601149d5235e0)) +* **jans-auth-server:** added creator info to scope (time/id/type) [#1934](https://github.com/JanssenProject/jans/issues/1934) ([#2023](https://github.com/JanssenProject/jans/issues/2023)) ([ca65b24](https://github.com/JanssenProject/jans/commit/ca65b246808d30a9f8965806c4ce963cc6dea8db)) +* **jans-auth-server:** allow authentication for max_age=0 [#2361](https://github.com/JanssenProject/jans/issues/2361) ([#2362](https://github.com/JanssenProject/jans/issues/2362)) ([aed6ee3](https://github.com/JanssenProject/jans/commit/aed6ee3dd570e15fa91a9baf3ffb2461a212cdc0)) +* **jans-auth-server:** allow end session with expired id_token_hint (by checking signature and sid) [#2430](https://github.com/JanssenProject/jans/issues/2430) ([#2431](https://github.com/JanssenProject/jans/issues/2431)) ([1b46b44](https://github.com/JanssenProject/jans/commit/1b46b44c6a1bac9c52c7d45358ced4c2c60a9314)) +* **jans-auth-server:** Draft support of OpenID Connect Native SSO ([#2711](https://github.com/JanssenProject/jans/issues/2711)) ([595d1aa](https://github.com/JanssenProject/jans/commit/595d1aa8ce93c00aa13fb726499ca26d8f2a41b6)) +* **jans-auth-server:** extended client schema - added jansClientGroup [#1824](https://github.com/JanssenProject/jans/issues/1824) ([#2299](https://github.com/JanssenProject/jans/issues/2299)) ([29cfd4e](https://github.com/JanssenProject/jans/commit/29cfd4edaff1248c65d43d956b7b1db0f684d294)) +* **jans-auth-server:** renamed "enabledComponents" conf property -> "featureFlags" [#2290](https://github.com/JanssenProject/jans/issues/2290) ([#2319](https://github.com/JanssenProject/jans/issues/2319)) ([56a33c4](https://github.com/JanssenProject/jans/commit/56a33c40a2bf58ebeb87c6f1724f60a836dc29d2)) +* **jans-auth-server:** updating arquillian tests 1247 ([#2017](https://github.com/JanssenProject/jans/issues/2017)) ([ee200a7](https://github.com/JanssenProject/jans/commit/ee200a7dce5d750f3c4a9d536aa8d92a89926711)) +* **jans-config-api:** added new attributes ([#1940](https://github.com/JanssenProject/jans/issues/1940)) ([757b22f](https://github.com/JanssenProject/jans/commit/757b22fcc03c28d950eb98b4503d1915fa15b025)) +* **jans-config-api:** agama flow endpoint ([#1898](https://github.com/JanssenProject/jans/issues/1898)) ([0e73306](https://github.com/JanssenProject/jans/commit/0e73306f7642a74a3ed2cf8a8687a1ea447aa7bd)) +* **jans-config-api:** agama patch endpoint ([#2028](https://github.com/JanssenProject/jans/issues/2028)) ([0b96a95](https://github.com/JanssenProject/jans/commit/0b96a95399cac02fee614523ae5b552c99c1e254)) +* **jans-config-api:** endpoint to get UmaResource based on clientId and swagger changes ([#1912](https://github.com/JanssenProject/jans/issues/1912)) ([a3f9145](https://github.com/JanssenProject/jans/commit/a3f91453dd8fa5e9c903827b458bc58e735eda55)) +* **jans-config-api:** enhancement to agama and uma resource endpoint ([#2015](https://github.com/JanssenProject/jans/issues/2015)) ([f2c19a1](https://github.com/JanssenProject/jans/commit/f2c19a14b0b5b869eb97afd24ac7169328f22b2f)) +* **jans-config-api:** fetch the associated clients_id in GET scopes api response ([#1946](https://github.com/JanssenProject/jans/issues/1946)) ([ffe743c](https://github.com/JanssenProject/jans/commit/ffe743ca007d3a1ca7011f47df9c0a4124c93e5c)) +* **jans-config-api:** new endpoint to fetch scope by creator and type ([#2098](https://github.com/JanssenProject/jans/issues/2098)) ([cf15d67](https://github.com/JanssenProject/jans/commit/cf15d678f26de3bb2e645040ad25bcb21a03691f)) +* **jans-config-api:** pagination functionality for attribute endoint ([#2232](https://github.com/JanssenProject/jans/issues/2232)) ([8bb8b70](https://github.com/JanssenProject/jans/commit/8bb8b700ae4986707d35af39e8811c80a5073023)) +* **jans-config-api:** pagination functionality for endpoints and swagger spec rectification ([#2397](https://github.com/JanssenProject/jans/issues/2397)) ([d893e13](https://github.com/JanssenProject/jans/commit/d893e13efd57871ed0a09688b9b02f4294a10d4f)) +* **jans-config-api:** Scope object changes for creator details ([#2033](https://github.com/JanssenProject/jans/issues/2033)) ([a8b8d76](https://github.com/JanssenProject/jans/commit/a8b8d76640ff6520a462ff2bb477db50c2b60207)) +* **jans-config-api:** session management endpoint ([#2158](https://github.com/JanssenProject/jans/issues/2158)) ([30f6e1a](https://github.com/JanssenProject/jans/commit/30f6e1a4bacb90a711ed6f91bc124267d44b9d44)) +* **jans-core:** port Gluu ORM-based document store ([#2581](https://github.com/JanssenProject/jans/issues/2581)) ([b61df80](https://github.com/JanssenProject/jans/commit/b61df8094a390762395fae41bba394d4e6bbf796)) +* jans-linux-setup delete_dn() ([#2450](https://github.com/JanssenProject/jans/issues/2450)) ([b80a270](https://github.com/JanssenProject/jans/commit/b80a270d1f4c08e88a57a833f44ce3515a64a905)) +* jans-linux-setup external CB/Spanner libs ([#2730](https://github.com/JanssenProject/jans/issues/2730)) ([d97bffe](https://github.com/JanssenProject/jans/commit/d97bffe96a1de6f3dbfcd600bb88dd8e7d086cd1)) +* jans-linux-setup load agama test data ([#2749](https://github.com/JanssenProject/jans/issues/2749)) ([c368a02](https://github.com/JanssenProject/jans/commit/c368a027e0bcb087a94aca264695c78520de9442)) +* jans-linux-setup option reset-rdbm-db ([#2413](https://github.com/JanssenProject/jans/issues/2413)) ([1029619](https://github.com/JanssenProject/jans/commit/1029619291e53f0b5783c13685c23f9c2535aa06)) +* jans-linux-setup postgresql support ([#2409](https://github.com/JanssenProject/jans/issues/2409)) ([08ecaf9](https://github.com/JanssenProject/jans/commit/08ecaf96d94c9741fe52b99cc55d3459109034a3)) +* jans-linux-setup set_class_path() ([#2442](https://github.com/JanssenProject/jans/issues/2442)) ([8128244](https://github.com/JanssenProject/jans/commit/8128244d16f212b9c687540ded6cb349abe4aafc)) +* **jans-linux-setup:** added device_sso scope ([#2766](https://github.com/JanssenProject/jans/issues/2766)) ([7c7af09](https://github.com/JanssenProject/jans/commit/7c7af09244cf590a4b2a9570c3df81c0993a1569)) +* **jans-linux-setup:** added token exchange grant type ([#2768](https://github.com/JanssenProject/jans/issues/2768)) ([b3abcfe](https://github.com/JanssenProject/jans/commit/b3abcfeb8fbaddd6d39eeacba018b6baaf6a2d75)) +* **jans-scim:** make max no. of operations and payload size of bulks operations parameterizable ([#1872](https://github.com/JanssenProject/jans/issues/1872)) ([c27a45b](https://github.com/JanssenProject/jans/commit/c27a45bb0a19257c824c4e195f203e9b9b45ec88)) +* merge ORM from Gluu ([#2468](https://github.com/JanssenProject/jans/issues/2468)) ([93149fd](https://github.com/JanssenProject/jans/commit/93149fd2d1db1eacf37d76af9df25ed40fb16b79)) +* need to fetch the associated clients_id in GET scopes api response [#1923](https://github.com/JanssenProject/jans/issues/1923) ([#1949](https://github.com/JanssenProject/jans/issues/1949)) ([88606a5](https://github.com/JanssenProject/jans/commit/88606a5ad01b9444f533ee4ea85ea0ca57dc49d8)) +* ssa creation endpoint ([#2495](https://github.com/JanssenProject/jans/issues/2495)) ([61c83e3](https://github.com/JanssenProject/jans/commit/61c83e3305beeaf1a3dbde39d70324153281f218)) +* sync mds v3 config in fido2 image ([#2531](https://github.com/JanssenProject/jans/issues/2531)) ([56c8442](https://github.com/JanssenProject/jans/commit/56c84422b9352dd16c8dbce8608b5327a92a2c2e)) +* update Coucbase ORM to conform SDK 3.x (config updates) [#1851](https://github.com/JanssenProject/jans/issues/1851) ([#2118](https://github.com/JanssenProject/jans/issues/2118)) ([fceec83](https://github.com/JanssenProject/jans/commit/fceec8332fb36826e5dccb797ee79b769859e126)) +* update search by example to use multivalued property ([#2298](https://github.com/JanssenProject/jans/issues/2298)) ([8ed3007](https://github.com/JanssenProject/jans/commit/8ed3007ec3406ac7c0adf81ce339f6672b76a147)) +* upgrade javax.servlet:javax.servlet-api from 3.1.0 to 4.0.1 ([#646](https://github.com/JanssenProject/jans/issues/646)) ([d186a05](https://github.com/JanssenProject/jans/commit/d186a05fd566095860f3b17ce4aa2b32551b2bc6)) +* upgrade org.jboss.resteasy:resteasy-servlet-initializer from 4.5.10.Final to 5.0.1.Final ([#645](https://github.com/JanssenProject/jans/issues/645)) ([a9a712d](https://github.com/JanssenProject/jans/commit/a9a712dcaa69c63ffac46206d5dfc13978efc7fb)) +* upgrade org.jetbrains:annotations from 18.0.0 to 23.0.0 ([#637](https://github.com/JanssenProject/jans/issues/637)) ([e5fca5a](https://github.com/JanssenProject/jans/commit/e5fca5a09e8aa68dc834de6115490a80fb9da3ff)) +* use entry in contain entry ([#2311](https://github.com/JanssenProject/jans/issues/2311)) ([de9d00a](https://github.com/JanssenProject/jans/commit/de9d00a9e3cf053cfad70726317becf3b2d9eac5)) + + +### Bug Fixes + +* [#2143](https://github.com/JanssenProject/jans/issues/2143) ([#2144](https://github.com/JanssenProject/jans/issues/2144)) ([ff7f9f4](https://github.com/JanssenProject/jans/commit/ff7f9f4110d72b333aae0d2332b429dcbd067da3)) +* [#2157](https://github.com/JanssenProject/jans/issues/2157) ([#2159](https://github.com/JanssenProject/jans/issues/2159)) ([dc8cb60](https://github.com/JanssenProject/jans/commit/dc8cb60990052256b46842f85ebf4961beee82dd)) +* [#776](https://github.com/JanssenProject/jans/issues/776) ([#2503](https://github.com/JanssenProject/jans/issues/2503)) ([a564431](https://github.com/JanssenProject/jans/commit/a564431c8b6e503a36dbaf7ccc8f79e6b8adb95f)) +* [#817](https://github.com/JanssenProject/jans/issues/817) - script for DUO should have the universal prompt, other APIs are deprecated + documentation minor fixes ([#2363](https://github.com/JanssenProject/jans/issues/2363)) ([ccc13af](https://github.com/JanssenProject/jans/commit/ccc13afdd2cfefecc19aa926a46815d119e6ad76)) +* [#817](https://github.com/JanssenProject/jans/issues/817) ([#2364](https://github.com/JanssenProject/jans/issues/2364)) ([bbcd87a](https://github.com/JanssenProject/jans/commit/bbcd87a374f2efca3f87b00bfa21900b2b450c1b)) +* admin-ui plugin should use encoded client_secret for authentication [#2717](https://github.com/JanssenProject/jans/issues/2717) ([#2718](https://github.com/JanssenProject/jans/issues/2718)) ([cc0020e](https://github.com/JanssenProject/jans/commit/cc0020ec94b8cfe18c75310eb77c26bfa6e85750)) +* backticks CB attributes in N1QL ([#2313](https://github.com/JanssenProject/jans/issues/2313)) ([d6db13d](https://github.com/JanssenProject/jans/commit/d6db13d15fa0176eab52d37e01f01c6d60f1d124)) +* cb ttl update sdk 3 ([#2434](https://github.com/JanssenProject/jans/issues/2434)) ([534c6cb](https://github.com/JanssenProject/jans/commit/534c6cb01d2e3e2a3e066d2af71780c28e01e282)) +* close connections after reading metadata ([#2327](https://github.com/JanssenProject/jans/issues/2327)) ([00f4f79](https://github.com/JanssenProject/jans/commit/00f4f790fc01292e23139072bd0d19925349c7a6)) +* **config-api:** client default value handling ([#2585](https://github.com/JanssenProject/jans/issues/2585)) ([fbcbbad](https://github.com/JanssenProject/jans/commit/fbcbbad0817cd17e645a2491d1732a18b5159cf1)) +* **config-api:** fix for acr error handling and spec enhancement for example ([#2443](https://github.com/JanssenProject/jans/issues/2443)) ([8113841](https://github.com/JanssenProject/jans/commit/8113841f160f937b765b005bc9078bbcc7bb3ec7)) +* **config-api:** fix for assosiated client not fetched for scope ([#2540](https://github.com/JanssenProject/jans/issues/2540)) ([08488d1](https://github.com/JanssenProject/jans/commit/08488d158841a8c074e68cba4d2a12df6feab9b6)) +* **config-api:** fix for returning associated-clients for scope ([#2567](https://github.com/JanssenProject/jans/issues/2567)) ([e623f64](https://github.com/JanssenProject/jans/commit/e623f644d1a410a95edf9c0d66085dd4503e7cb3)) +* **config-api:** fixing discrepancies in the api ([#2216](https://github.com/JanssenProject/jans/issues/2216)) ([af4d3a5](https://github.com/JanssenProject/jans/commit/af4d3a51ce2cbe8c531f8dca213d0c3ef087aad5)) +* **config-api:** rectified sortBy field for Agama resource ([#2513](https://github.com/JanssenProject/jans/issues/2513)) ([bb3ac95](https://github.com/JanssenProject/jans/commit/bb3ac957615a46d53b8622d1aeead1b26a703b70)) +* **config-api:** removing CB and MySqlDB endpoints and swagger fixes ([#2480](https://github.com/JanssenProject/jans/issues/2480)) ([cc68cc9](https://github.com/JanssenProject/jans/commit/cc68cc9209c3612dbd002daf5775f3dd5916427b)) +* **config-api:** scope addiotion while client creation ([#2714](https://github.com/JanssenProject/jans/issues/2714)) ([d51ae24](https://github.com/JanssenProject/jans/commit/d51ae2421b77dd88f7a1751235200b19f4a0b305)) +* **config-api:** search filter logic for attribute resource ([#2310](https://github.com/JanssenProject/jans/issues/2310)) ([c75ff1d](https://github.com/JanssenProject/jans/commit/c75ff1dff7a1c4262704320a309de540bae40cc2)) +* **config-api:** specifying JSON values for Attribute enum properties ([#2663](https://github.com/JanssenProject/jans/issues/2663)) ([55d20c8](https://github.com/JanssenProject/jans/commit/55d20c8c4812cee333e63335772ff6da9a43d188)) +* **config-api:** swagger fixes for missing scope and admin-ui paths ([#2697](https://github.com/JanssenProject/jans/issues/2697)) ([6dcbff3](https://github.com/JanssenProject/jans/commit/6dcbff37d0e37502b7383bded22f04bf708d7afc)) +* **config-api:** swagger spec changes for session, properties endpoint and ignoring customobject for non LDAP DB ([#2348](https://github.com/JanssenProject/jans/issues/2348)) ([c6acaac](https://github.com/JanssenProject/jans/commit/c6acaacf06f564b1acde7ed9bb466e5e9528ccbc)) +* **docs:** fix MarkupSafe hash ([#2699](https://github.com/JanssenProject/jans/issues/2699)) ([adf2a6d](https://github.com/JanssenProject/jans/commit/adf2a6d929082da8884973855a095153c1268269)) +* **docs:** revert MarkupSafe hash ([#2701](https://github.com/JanssenProject/jans/issues/2701)) ([e722aed](https://github.com/JanssenProject/jans/commit/e722aedd2b8fbbba770cea1112e2757f6e32d10c)) +* don't backticks all in N1QL ([#2316](https://github.com/JanssenProject/jans/issues/2316)) ([7cc721e](https://github.com/JanssenProject/jans/commit/7cc721e9d0d831b7d11804511e0279c8c292c0b2)) +* don't execute next paged search if current result count less than ([#2171](https://github.com/JanssenProject/jans/issues/2171)) ([94a162f](https://github.com/JanssenProject/jans/commit/94a162f4471ec6e4798721894b4a5a583ad71370)) +* fix search with % ([#2307](https://github.com/JanssenProject/jans/issues/2307)) ([90987d7](https://github.com/JanssenProject/jans/commit/90987d74118b93637c568c73d747233861b2bd9b)) +* fixed multiple encoding issue during authz ([#2152](https://github.com/JanssenProject/jans/issues/2152)) ([fb0b6d7](https://github.com/JanssenProject/jans/commit/fb0b6d738e3e6292453958d44cb14fdcf03ab416)) +* **forgot_password:** update imports to jans locations ([#1637](https://github.com/JanssenProject/jans/issues/1637)) ([6c6eeb3](https://github.com/JanssenProject/jans/commit/6c6eeb334ffd4e09c91a7e5b7e5c3de7d5fdf037)), closes [#1601](https://github.com/JanssenProject/jans/issues/1601) +* **image:** add missing script for openbanking installation ([#2618](https://github.com/JanssenProject/jans/issues/2618)) ([de775a7](https://github.com/JanssenProject/jans/commit/de775a731fe00ccd6044aa331cb039625231a174)) +* **image:** add missing ssa configuration ([#2613](https://github.com/JanssenProject/jans/issues/2613)) ([b70b8b2](https://github.com/JanssenProject/jans/commit/b70b8b2b06f08d82bca0e47292dd68b0651c8dee)) +* **image:** handle vulnerabilities reported by artifacthub scanner ([#2436](https://github.com/JanssenProject/jans/issues/2436)) ([77d8d88](https://github.com/JanssenProject/jans/commit/77d8d888bf414e519345704d033e65fbf4bc4128)) +* **image:** missing configuration for openbanking discovery ([#2796](https://github.com/JanssenProject/jans/issues/2796)) ([ba664f0](https://github.com/JanssenProject/jans/commit/ba664f012a39d5e43df6e0d42993f4a1a5ba5d3a)) +* **image:** remove metadata-root-ca.cer inside fido2 image ([#2603](https://github.com/JanssenProject/jans/issues/2603)) ([9461fbc](https://github.com/JanssenProject/jans/commit/9461fbcb193f0e9b929f53006d706bf3ef5bfc1a)) +* **images:** conform to new couchbase persistence configuration ([#2188](https://github.com/JanssenProject/jans/issues/2188)) ([c708542](https://github.com/JanssenProject/jans/commit/c7085427fd298f74e8809ef4d6c39f780fa83776)) +* include idtoken with dynamic scopes for ciba ([#2108](https://github.com/JanssenProject/jans/issues/2108)) ([d9b5341](https://github.com/JanssenProject/jans/commit/d9b5341d50de972c910883c12785ce6d2758588f)) +* incorrect contents [#817](https://github.com/JanssenProject/jans/issues/817) ([#2365](https://github.com/JanssenProject/jans/issues/2365)) ([746b33f](https://github.com/JanssenProject/jans/commit/746b33f16c46e2be7381f266e631047e21f17565)) +* **jans auth server:** well known uppercase grant_types response_mode ([#2706](https://github.com/JanssenProject/jans/issues/2706)) ([39f613d](https://github.com/JanssenProject/jans/commit/39f613dbba9a218d9498baa43cc6baba0269b56a)) +* Jans cli SCIM fixes ([#2394](https://github.com/JanssenProject/jans/issues/2394)) ([a009943](https://github.com/JanssenProject/jans/commit/a009943847238f2d115f794a21b5e229c851db5e)) +* **jans-auth-server:** "login:prompt" property passed in request object JWT breaks authentication [#2493](https://github.com/JanssenProject/jans/issues/2493) ([#2537](https://github.com/JanssenProject/jans/issues/2537)) ([9d4d84a](https://github.com/JanssenProject/jans/commit/9d4d84a617999ba120a0b42376aa890e96f7c933)) +* jans-auth-server/pom.xml to reduce vulnerabilities ([#2466](https://github.com/JanssenProject/jans/issues/2466)) ([86e62f9](https://github.com/JanssenProject/jans/commit/86e62f97362e7d834300fdd8300aee5db3f242fc)) +* jans-auth-server/pom.xml to reduce vulnerabilities ([#2520](https://github.com/JanssenProject/jans/issues/2520)) ([f927692](https://github.com/JanssenProject/jans/commit/f92769225ad2e799c32621af8258fd4f9fead87e)) +* **jans-auth-server:** added schema for ssa, corrected persistence, added ttl [#2543](https://github.com/JanssenProject/jans/issues/2543) ([#2544](https://github.com/JanssenProject/jans/issues/2544)) ([ce2bc3f](https://github.com/JanssenProject/jans/commit/ce2bc3f34d78dd9e11414d0db2c5870c77265177)) +* **jans-auth-server:** client tests expects "scope to claim" mapping which are disabled by default [#1873](https://github.com/JanssenProject/jans/issues/1873) ([958cc92](https://github.com/JanssenProject/jans/commit/958cc9232fafa618cb326c7251486f0add7a15c1)) +* **jans-auth-server:** fixing client tests effected by "scope to claim" mapping which is disabled by default [#1873](https://github.com/JanssenProject/jans/issues/1873) ([#1910](https://github.com/JanssenProject/jans/issues/1910)) ([6d81792](https://github.com/JanssenProject/jans/commit/6d81792a141ca725004c23f1bdd0a42314ffcb5f)) +* **jans-auth-server:** generate description during built-in key rotation [#1790](https://github.com/JanssenProject/jans/issues/1790) ([#2068](https://github.com/JanssenProject/jans/issues/2068)) ([cd1a77d](https://github.com/JanssenProject/jans/commit/cd1a77dd36a59b19e975c013c8081610a23106ba)) +* **jans-auth-server:** increased period of session authn time check ([#1918](https://github.com/JanssenProject/jans/issues/1918)) ([a41905a](https://github.com/JanssenProject/jans/commit/a41905abba38c051acc7e7d57131da4b7c3a1616)) +* **jans-auth-server:** native sso - return device secret if device_sso scope is present [#2790](https://github.com/JanssenProject/jans/issues/2790) ([#2791](https://github.com/JanssenProject/jans/issues/2791)) ([9fa213f](https://github.com/JanssenProject/jans/commit/9fa213f12d4b2bafa399fb03ca207f692c44e01f)) +* **jans-auth-server:** npe - regression in token endpoint ([#2763](https://github.com/JanssenProject/jans/issues/2763)) ([fe659d7](https://github.com/JanssenProject/jans/commit/fe659d76daf18439a72ca61421904a0f724a6755)) +* **jans-auth-server:** NPE during OB discovery [#2793](https://github.com/JanssenProject/jans/issues/2793) ([#2794](https://github.com/JanssenProject/jans/issues/2794)) ([fb3ee86](https://github.com/JanssenProject/jans/commit/fb3ee86704e3255c51a121baff3ebf89eceb7f2a)) +* **jans-auth-server:** npe in discovery if SSA endpoint is absent [#2497](https://github.com/JanssenProject/jans/issues/2497) ([#2498](https://github.com/JanssenProject/jans/issues/2498)) ([c3b00b4](https://github.com/JanssenProject/jans/commit/c3b00b4dac70f164216642cfa5b7f4e8e6a6d9dc)) +* **jans-auth-server:** perform redirect_uri validation if FAPI flag is true [#2500](https://github.com/JanssenProject/jans/issues/2500) ([#2502](https://github.com/JanssenProject/jans/issues/2502)) ([aad0460](https://github.com/JanssenProject/jans/commit/aad04603ca714ed3b01dcaeddf2b80a8dccccdf4)) +* **jans-auth-server:** PKCE parameters from first SSO request retains in further calls ([#2620](https://github.com/JanssenProject/jans/issues/2620)) ([de98b41](https://github.com/JanssenProject/jans/commit/de98b41ebd9285a087535d42a82dc004e885bd60)) +* **jans-auth-server:** ssa get endpoint ([#2719](https://github.com/JanssenProject/jans/issues/2719)) ([35ffbf0](https://github.com/JanssenProject/jans/commit/35ffbf041e7da7376e07d8e7425a2925ce31f403)) +* **jans-auth-server:** structure, instance customAttributes, initial data for ssa ([#2577](https://github.com/JanssenProject/jans/issues/2577)) ([f11f789](https://github.com/JanssenProject/jans/commit/f11f789e595762af0c38f1b93de4541ac456d282)) +* jans-cli access token expiration ([#2352](https://github.com/JanssenProject/jans/issues/2352)) ([d506c8e](https://github.com/JanssenProject/jans/commit/d506c8e8960fbc899e3ad1072ccaa40e0713720a)) +* jans-cli displayName for OpenID Clients with MySQL backend (ref: [#2314](https://github.com/JanssenProject/jans/issues/2314)) ([#2315](https://github.com/JanssenProject/jans/issues/2315)) ([e0dff68](https://github.com/JanssenProject/jans/commit/e0dff68524102aa78252725f6de4620bee944a29)) +* jans-cli endpint param ([#2569](https://github.com/JanssenProject/jans/issues/2569)) ([f6faa71](https://github.com/JanssenProject/jans/commit/f6faa71b4c4803f42785f968c3cfef5d1c59affe)) +* jans-cli fixes ([#2429](https://github.com/JanssenProject/jans/issues/2429)) ([c9673dc](https://github.com/JanssenProject/jans/commit/c9673dc12ab4f49fb4107b3695efebbf5b1652bd)) +* jans-cli fixes ([#2515](https://github.com/JanssenProject/jans/issues/2515)) ([ccaacc8](https://github.com/JanssenProject/jans/commit/ccaacc8ae564e8f2ef5fd91134bc1c6512634bd5)) +* jans-cli info for ConfigurationAgamaFlow ([#2561](https://github.com/JanssenProject/jans/issues/2561)) ([2c446a7](https://github.com/JanssenProject/jans/commit/2c446a7ce64407274e35639dda7e9a48f926988b)) +* jans-cli tabulate attrbiutes ([#2321](https://github.com/JanssenProject/jans/issues/2321)) ([cb1e40d](https://github.com/JanssenProject/jans/commit/cb1e40d727bd652c71681509972097be5fae9b54)) +* jans-cli user patch ([#2334](https://github.com/JanssenProject/jans/issues/2334)) ([fa3592b](https://github.com/JanssenProject/jans/commit/fa3592bbf76872a95524ec6bf9e2d24796d3f6e5)) +* **jans-client-api:** upgrade seleniumhq version from 3.x to 4.x ([#2110](https://github.com/JanssenProject/jans/issues/2110)) ([d48271e](https://github.com/JanssenProject/jans/commit/d48271e872de72c7085e592988ad2e4e8950116d)) +* jans-config-api parameter month is not mandatory for endpoint /stat ([#2459](https://github.com/JanssenProject/jans/issues/2459)) ([0654f98](https://github.com/JanssenProject/jans/commit/0654f981953da31b2b06b98ae93f4ffe27032155)) +* jans-config-api/plugins/sample/demo/pom.xml to reduce vulnerabilities ([#2625](https://github.com/JanssenProject/jans/issues/2625)) ([14dd8a6](https://github.com/JanssenProject/jans/commit/14dd8a646b433bbbd655b02cabe548f8afb78196)) +* jans-config-api/plugins/sample/demo/pom.xml to reduce vulnerabilities ([#853](https://github.com/JanssenProject/jans/issues/853)) ([2792b53](https://github.com/JanssenProject/jans/commit/2792b53c4e1baa4a06dc9d0fbdc3c15f285c08de)) +* jans-config-api/plugins/sample/helloworld/pom.xml to reduce vulnerabilities ([#2630](https://github.com/JanssenProject/jans/issues/2630)) ([0e39fb7](https://github.com/JanssenProject/jans/commit/0e39fb7409be631418bcc9de58e2a4bb2d692268)) +* jans-config-api/plugins/sample/helloworld/pom.xml to reduce vulnerabilities ([#2727](https://github.com/JanssenProject/jans/issues/2727)) ([5f42948](https://github.com/JanssenProject/jans/commit/5f42948b9453154fe795373f673fa872fa45e75b)) +* jans-config-api/plugins/sample/helloworld/pom.xml to reduce vulnerabilities ([#972](https://github.com/JanssenProject/jans/issues/972)) ([e2ae05e](https://github.com/JanssenProject/jans/commit/e2ae05e5515dd85a95c0a8520de57f673aba7918)) +* jans-config-api/pom.xml to reduce vulnerabilities ([#1464](https://github.com/JanssenProject/jans/issues/1464)) ([c832f98](https://github.com/JanssenProject/jans/commit/c832f9885bdec3a6fecffa2c2e3b7aa2ea7c8dd4)) +* jans-config-api/pom.xml to reduce vulnerabilities ([#1746](https://github.com/JanssenProject/jans/issues/1746)) ([9dfe60e](https://github.com/JanssenProject/jans/commit/9dfe60e66f957d837bdeb0eb1c8bf9bedd30b60c)) +* jans-config-api/pom.xml to reduce vulnerabilities ([#1780](https://github.com/JanssenProject/jans/issues/1780)) ([3252ff7](https://github.com/JanssenProject/jans/commit/3252ff75445603d955cd73214b47e3421dc5227b)) +* jans-config-api/pom.xml to reduce vulnerabilities ([#2655](https://github.com/JanssenProject/jans/issues/2655)) ([499ff89](https://github.com/JanssenProject/jans/commit/499ff895f3b00ddeeaf3244e0becf35d7ede328a)) +* **jans-config-api:** avoid loss of attributes in agama endpoints ([#2058](https://github.com/JanssenProject/jans/issues/2058)) ([3c8f816](https://github.com/JanssenProject/jans/commit/3c8f816b62b0efdfffc0e3f53d8371f4510d3ef6)) +* **jans-config-api:** config-api compilation failed in main [#2030](https://github.com/JanssenProject/jans/issues/2030) ([#2031](https://github.com/JanssenProject/jans/issues/2031)) ([1659da1](https://github.com/JanssenProject/jans/commit/1659da1ff4d1d930300ef9c3b3e040eabc7bc0fb)) +* **jans-config-api:** Fix to not update Metadata for PUT and PATCH agama endpoint ([#2046](https://github.com/JanssenProject/jans/issues/2046)) ([da93050](https://github.com/JanssenProject/jans/commit/da93050442d3bc1812d3a8076686ca3e02800c26)) +* **jans-config-api:** issue UMA scope request being saved as OAUTH ([#2063](https://github.com/JanssenProject/jans/issues/2063)) ([81472aa](https://github.com/JanssenProject/jans/commit/81472aa3da4b02af7ed1bd47753d6938ec0c3e01)) +* **jans-config-api:** rectified endpoint url in swagger spec for uma resource ([#1965](https://github.com/JanssenProject/jans/issues/1965)) ([0dc3b2e](https://github.com/JanssenProject/jans/commit/0dc3b2e60825f9921f28c9eeff30ffefa8bda269)) +* **jans-core:** removed redundant reference [#1927](https://github.com/JanssenProject/jans/issues/1927) ([#1928](https://github.com/JanssenProject/jans/issues/1928)) ([064cbb8](https://github.com/JanssenProject/jans/commit/064cbb8040f4d7b21ff13e5f48c7f923c38f67b1)) +* jans-eleven/pom.xml to reduce vulnerabilities ([#1463](https://github.com/JanssenProject/jans/issues/1463)) ([b6def37](https://github.com/JanssenProject/jans/commit/b6def37e3ca754a4294584b7c464455e3ed4b7eb)) +* jans-eleven/pom.xml to reduce vulnerabilities ([#2471](https://github.com/JanssenProject/jans/issues/2471)) ([903bda2](https://github.com/JanssenProject/jans/commit/903bda2c07cf299a72ccedae1d9fb427d4f993bb)) +* jans-eleven/pom.xml to reduce vulnerabilities ([#2519](https://github.com/JanssenProject/jans/issues/2519)) ([c0a2bbe](https://github.com/JanssenProject/jans/commit/c0a2bbe30bedb7153757d5ba6caa86b199e42a0a)) +* jans-eleven/pom.xml to reduce vulnerabilities ([#2676](https://github.com/JanssenProject/jans/issues/2676)) ([d27a7f9](https://github.com/JanssenProject/jans/commit/d27a7f99f22cb8f4bd445a3400224a38cb91eedc)) +* jans-linus-setup typo ([#2427](https://github.com/JanssenProject/jans/issues/2427)) ([8b5f287](https://github.com/JanssenProject/jans/commit/8b5f287f5827814099136a41fac683bed0ff3c8c)) +* jans-linux-setup add mod_rewrite to httpd_2.4.conf ([#1987](https://github.com/JanssenProject/jans/issues/1987)) ([b33b78e](https://github.com/JanssenProject/jans/commit/b33b78ed2e4e1c628db1ce130dfc6735ec93f83c)) +* jans-linux-setup Config API installation status ([#2276](https://github.com/JanssenProject/jans/issues/2276)) ([6cf25ae](https://github.com/JanssenProject/jans/commit/6cf25aeaeaa6445022d6d69ea36675d8a863edb1)) +* jans-linux-setup config api prompt ([#2293](https://github.com/JanssenProject/jans/issues/2293)) ([abfa315](https://github.com/JanssenProject/jans/commit/abfa315daa05846ba0b967e60f1496e87ed697f1)) +* jans-linux-setup config-api scope type oauth ([#2318](https://github.com/JanssenProject/jans/issues/2318)) ([8e48d71](https://github.com/JanssenProject/jans/commit/8e48d7136fcb2b5718b2011b2ac3c45caae407ee)) +* jans-linux-setup debian11 installation ([#2160](https://github.com/JanssenProject/jans/issues/2160)) ([8b99498](https://github.com/JanssenProject/jans/commit/8b99498ad0d4b7c45b962ad459e81553a0f65d75)) +* jans-linux-setup don't call package installation unless missing packages ([#2641](https://github.com/JanssenProject/jans/issues/2641)) ([d340c3c](https://github.com/JanssenProject/jans/commit/d340c3cb9cbd57279dc76c5fbde936524124f60a)) +* jans-linux-setup downloads dependencies without interaction in case -n ([#2546](https://github.com/JanssenProject/jans/issues/2546)) ([d53f9a2](https://github.com/JanssenProject/jans/commit/d53f9a2af03e20fcaf5bdac0e71363797ce2f9d3)) +* jans-linux-setup extract files ([#2464](https://github.com/JanssenProject/jans/issues/2464)) ([35ced3e](https://github.com/JanssenProject/jans/commit/35ced3e0168525dc05f6ec0758e29990963fb515)) +* jans-linux-setup humanize os name ([#2066](https://github.com/JanssenProject/jans/issues/2066)) ([8c89638](https://github.com/JanssenProject/jans/commit/8c89638f27e7d440bf82c91df27cdf9d263ae63d)) +* jans-linux-setup install cb via apt for dependencies ([#2330](https://github.com/JanssenProject/jans/issues/2330)) ([732ce6a](https://github.com/JanssenProject/jans/commit/732ce6afb18fb1f352dfbf4ce971039b8824bc36)) +* jans-linux-setup lowercase admin user status ([#2274](https://github.com/JanssenProject/jans/issues/2274)) ([28e5f06](https://github.com/JanssenProject/jans/commit/28e5f0692bd3c760e8c52f4c96bdcb819a329cdf)) +* jans-linux-setup MySQL schema name is db name ([#2592](https://github.com/JanssenProject/jans/issues/2592)) ([2fc3d6e](https://github.com/JanssenProject/jans/commit/2fc3d6e23a93f1108fa5c47ddbe5b820b6da7a51)) +* jans-linux-setup python3-psycopg2 ([#2423](https://github.com/JanssenProject/jans/issues/2423)) ([0d4aad2](https://github.com/JanssenProject/jans/commit/0d4aad2da1c2802a3f098c3590ffcde1c8d094d5)) +* jans-linux-setup remove fido2 metadata-root-ca.cer ([#2594](https://github.com/JanssenProject/jans/issues/2594)) ([139a6a4](https://github.com/JanssenProject/jans/commit/139a6a457bbb45e0f363914f8512462c5a4cfaa7)) +* jans-linux-setup scan docs/script-catalog for custom scripts ([#2488](https://github.com/JanssenProject/jans/issues/2488)) ([de585c9](https://github.com/JanssenProject/jans/commit/de585c9912c55b249eea160c041d0ca58434c6b0)) +* jans-linux-setup test data load ([#2685](https://github.com/JanssenProject/jans/issues/2685)) ([4d4d848](https://github.com/JanssenProject/jans/commit/4d4d84860fbaa6c6d0cfe1572bb922ea283ed9f2)) +* jans-linux-setup typo ([#2526](https://github.com/JanssenProject/jans/issues/2526)) ([4fa83fc](https://github.com/JanssenProject/jans/commit/4fa83fcc3f298d91be3cb459bca52417aacd368e)) +* jans-linux-setup upgrade to MDS3 in fido2 ([#2507](https://github.com/JanssenProject/jans/issues/2507)) ([fcbcd2f](https://github.com/JanssenProject/jans/commit/fcbcd2f7e661db62d4a01148b8dbafab7573d0e4)) +* jans-linux-setup-typo ([#2523](https://github.com/JanssenProject/jans/issues/2523)) ([579ccac](https://github.com/JanssenProject/jans/commit/579ccac9c8d0e698db029222126f8f6925f54851)) +* **jans-linux-setup:** review columns size for Agama tables ([#2324](https://github.com/JanssenProject/jans/issues/2324)) ([55d7a7e](https://github.com/JanssenProject/jans/commit/55d7a7e855d1a2ba2cf550e0ddb3a8e9f948456a)) +* **jans-scim:** improper handling response of get user operation ([#2420](https://github.com/JanssenProject/jans/issues/2420)) ([b9e00af](https://github.com/JanssenProject/jans/commit/b9e00af483f81280ae80ab6ad732d4f98c30c8a5)) +* **jans-scim:** X509 cert not set after successful POST request ([#2407](https://github.com/JanssenProject/jans/issues/2407)) ([fd616c4](https://github.com/JanssenProject/jans/commit/fd616c49df088dfa7c6fae4bd56ed4ecf4e26418)) +* **jans:** config api and client api ([#2408](https://github.com/JanssenProject/jans/issues/2408)) ([003af55](https://github.com/JanssenProject/jans/commit/003af55fc3657c3138b98f18d549ffa985d4c873)) +* localized String should be converted to JSON ([#2542](https://github.com/JanssenProject/jans/issues/2542)) ([30225f9](https://github.com/JanssenProject/jans/commit/30225f99035fc023bd7b159f64b1a53cf03bf9ac)) +* minor ([#2470](https://github.com/JanssenProject/jans/issues/2470)) ([657b9f7](https://github.com/JanssenProject/jans/commit/657b9f7589538bb4f1d61ce44fbf6f4da0e63d39)) +* minor ([#2786](https://github.com/JanssenProject/jans/issues/2786)) ([3f67763](https://github.com/JanssenProject/jans/commit/3f677636cc2f871e5a9c683634334578405f18f3)) +* moved contents under scripts-catalog ([#2370](https://github.com/JanssenProject/jans/issues/2370)) ([fa2273a](https://github.com/JanssenProject/jans/commit/fa2273a6400d512d13fb08ea6685d6ff56faf973)) +* moved to script-catalog ([#2485](https://github.com/JanssenProject/jans/issues/2485)) ([960b87f](https://github.com/JanssenProject/jans/commit/960b87ff5ace40c63aada576816cae648e82d65c)) +* **orm:** length check added before accessing CustomObjectAttribute values ([#2505](https://github.com/JanssenProject/jans/issues/2505)) ([6ff718f](https://github.com/JanssenProject/jans/commit/6ff718f2b2369e7669b3ce15d5442e4b0584ae7b)) +* **pycloudlib:** handle type mismatch for iterable ([#2004](https://github.com/JanssenProject/jans/issues/2004)) ([46e0b2e](https://github.com/JanssenProject/jans/commit/46e0b2e4aff70a97cdcdcd0102dc83d294e45fdc)) +* **pycloudlib:** set default values for JSONB column ([#2651](https://github.com/JanssenProject/jans/issues/2651)) ([9b536ab](https://github.com/JanssenProject/jans/commit/9b536ab2b5d398a41733790f2eeb70339f993fb7)) +* random password for keystores ([#2102](https://github.com/JanssenProject/jans/issues/2102)) ([b7d9af1](https://github.com/JanssenProject/jans/commit/b7d9af12ecf946498d279a5f577db0528e5522bc)) +* remove request-body from delete endpoints of admin-ui plugin [#2341](https://github.com/JanssenProject/jans/issues/2341) ([#2342](https://github.com/JanssenProject/jans/issues/2342)) ([1429a85](https://github.com/JanssenProject/jans/commit/1429a854e4fe2a80765d85ad8006706cc0cac15d)) +* scan docs/script-catalog for custom scripts ([#2533](https://github.com/JanssenProject/jans/issues/2533)) ([5a0521e](https://github.com/JanssenProject/jans/commit/5a0521e78e701d16ce6a7ebead0ad40c3b2f638c)) +* select first sig key if none requested ([#2494](https://github.com/JanssenProject/jans/issues/2494)) ([31fb464](https://github.com/JanssenProject/jans/commit/31fb464560563cf1463e94682d5939e531cabe81)) +* update authn schemes in yaml descriptor [#2414](https://github.com/JanssenProject/jans/issues/2414) ([#2415](https://github.com/JanssenProject/jans/issues/2415)) ([4b239af](https://github.com/JanssenProject/jans/commit/4b239af72d8aa9e3a09ff6de19cf315b3863bda2)) +* update chart repo ([8e347a3](https://github.com/JanssenProject/jans/commit/8e347a3c4321c1ba142c05be632630ffc8836cea)) +* update chart repo ([011af9d](https://github.com/JanssenProject/jans/commit/011af9d4ce8cff51d18005d319f5552362c94f19)) +* update error pages ([#1957](https://github.com/JanssenProject/jans/issues/1957)) ([3d63f4d](https://github.com/JanssenProject/jans/commit/3d63f4d3d58e86d499271ebafdbc0dd56f5c4e98)) +* upgrade com.google.http-client:google-http-client-jackson2 from 1.26.0 to 1.40.1 ([#644](https://github.com/JanssenProject/jans/issues/644)) ([31bc823](https://github.com/JanssenProject/jans/commit/31bc823e1625e76b8f5d4b2b17357a62fde6e6a2)) +* use iterator to correcly remove OC attribute ([#2138](https://github.com/JanssenProject/jans/issues/2138)) ([b590981](https://github.com/JanssenProject/jans/commit/b590981c53c26f4b1a8b6a0865ddc552e0a347b8)) + + +### Miscellaneous Chores + +* release 1.0.2 ([43dead6](https://github.com/JanssenProject/jans/commit/43dead615f3508ca393c330c2db27a8fb9d1017a)) +* release 1.0.2-1 ([d01b51a](https://github.com/JanssenProject/jans/commit/d01b51a847bb2f67b52da433ebd1c5e4a66b7c1a)) + +## 1.0.2 (2022-08-30) + + +### Features + +* add inum claim in profile scope [#2095](https://github.com/JanssenProject/jans/issues/2095) ([#2096](https://github.com/JanssenProject/jans/issues/2096)) ([f67c32e](https://github.com/JanssenProject/jans/commit/f67c32e7891f95c7a00ad0fa263444214dcaecd5)) +* add new methods to allow get/set list of custom attributes from ([#2105](https://github.com/JanssenProject/jans/issues/2105)) ([5ac23a1](https://github.com/JanssenProject/jans/commit/5ac23a18adf3b34fd41fd1199ab168bfc9602fc6)), closes [#2104](https://github.com/JanssenProject/jans/issues/2104) +* add newly redesigned jans-client-api ([#1540](https://github.com/JanssenProject/jans/issues/1540)) ([4582ae5](https://github.com/JanssenProject/jans/commit/4582ae563ddf2492c519fdbc7685af2ce3c5529d)) +* add support for date ranges in statistic client [#1575](https://github.com/JanssenProject/jans/issues/1575) ([#1653](https://github.com/JanssenProject/jans/issues/1653)) ([8048cd9](https://github.com/JanssenProject/jans/commit/8048cd9b6ab393b8a3e4a1aaf36e09abe20f605b)) +* add support for requestUriBlockList config ([#1572](https://github.com/JanssenProject/jans/issues/1572)) ([63b3b74](https://github.com/JanssenProject/jans/commit/63b3b7418861e8f4234c54a8d81fe5d21f56387f)) +* added config to disable attempt to update before insert in cache ([#1787](https://github.com/JanssenProject/jans/issues/1787)) ([d9a07ff](https://github.com/JanssenProject/jans/commit/d9a07ffb8dc1af290be6bc9b4978ad21c6797a3f)) +* **agama:** add utility classes for inbound identity ([#2204](https://github.com/JanssenProject/jans/issues/2204)) ([29f58ee](https://github.com/JanssenProject/jans/commit/29f58ee0e6c84b4af5493cabcb19167bc7ffbe40)) +* **agama:** add utility classes for inbound identity ([#2231](https://github.com/JanssenProject/jans/issues/2231)) ([96e32a4](https://github.com/JanssenProject/jans/commit/96e32a407ec6c545b73a6fd103ed2ae5876bd500)) +* **agama:** allow the config-api to perform syntax check of flows ([#1621](https://github.com/JanssenProject/jans/issues/1621)) ([2e99d3a](https://github.com/JanssenProject/jans/commit/2e99d3a9bec389f68086c606062280967ce338ce)) +* **agama:** reject usage of repeated input names ([#1484](https://github.com/JanssenProject/jans/issues/1484)) ([aed8cf3](https://github.com/JanssenProject/jans/commit/aed8cf33d89b98f0ac6aae52e145a84a0937d60e)) +* disable TLS in CB client by default ([#2167](https://github.com/JanssenProject/jans/issues/2167)) ([8ec5dd3](https://github.com/JanssenProject/jans/commit/8ec5dd3dc9818a53949468389a1918ed385c28a9)) +* **docker-jans-fido2:** allow creating initial persistence entry ([#2029](https://github.com/JanssenProject/jans/issues/2029)) ([41dfab7](https://github.com/JanssenProject/jans/commit/41dfab7a6d09d10b05954d4f5fae2437eb81a885)) +* **docker-jans-scim:** allow creating initial persistence entry ([#2035](https://github.com/JanssenProject/jans/issues/2035)) ([e485618](https://github.com/JanssenProject/jans/commit/e4856186d566f9ac7b08395b59cd75e389e5c161)) +* endpoint to get details of connected FIDO devices registered to users [#1465](https://github.com/JanssenProject/jans/issues/1465) ([#1466](https://github.com/JanssenProject/jans/issues/1466)) ([62522fe](https://github.com/JanssenProject/jans/commit/62522fe5aaa2971835c76e8e9b0d4280fee1db32)) +* expose prometheus metrics via jmx exporter ([#1573](https://github.com/JanssenProject/jans/issues/1573)) ([205e320](https://github.com/JanssenProject/jans/commit/205e3206cf87bdb7cf0908bfdd7ee777d1ab955d)) +* fix susrefire tests in filter module ([#2141](https://github.com/JanssenProject/jans/issues/2141)) ([118d77c](https://github.com/JanssenProject/jans/commit/118d77cd7025dcbe3031bc41450ec285afff4b9f)) +* fix the dependencies and code issues ([#1473](https://github.com/JanssenProject/jans/issues/1473)) ([f4824c6](https://github.com/JanssenProject/jans/commit/f4824c6c6c6a036c5d01b7a6710f51477a49a3fb)) +* introduce new hybrid persistence mapping ([#1505](https://github.com/JanssenProject/jans/issues/1505)) ([a77ab60](https://github.com/JanssenProject/jans/commit/a77ab602d15cb6bdf4751aaa11c2be9485b04a34)) +* jans linux setup enable/disable script via arg ([#1634](https://github.com/JanssenProject/jans/issues/1634)) ([0b3cf16](https://github.com/JanssenProject/jans/commit/0b3cf16f524add8f27ca321ce2d82f6d61660456)) +* jans linux setup openbanking CLI and certificate automation ([#1472](https://github.com/JanssenProject/jans/issues/1472)) ([62b5868](https://github.com/JanssenProject/jans/commit/62b5868e1e864a000be210d250602d43a2719b51)) +* **jans-auth-server:** add support for ranges in statistic endpoint (UI team request) ([fd66720](https://github.com/JanssenProject/jans/commit/fd667203564951ba4fc450bf9fb77ba0e70a75ec)) +* **jans-auth-server:** added allowSpontaneousScopes AS json config [#2074](https://github.com/JanssenProject/jans/issues/2074) ([#2111](https://github.com/JanssenProject/jans/issues/2111)) ([3083a3f](https://github.com/JanssenProject/jans/commit/3083a3f28f6d6c6a9de319f23fd745ac69477249)) +* **jans-auth-server:** added convenient method for up-scoping or down-scoping AT scopes [#1218](https://github.com/JanssenProject/jans/issues/1218) ([5d71655](https://github.com/JanssenProject/jans/commit/5d716553c6eb409c2f264864da8b65c0a0bcbe81)) +* **jans-auth-server:** added creator info to scope (time/id/type) [#1934](https://github.com/JanssenProject/jans/issues/1934) ([#2023](https://github.com/JanssenProject/jans/issues/2023)) ([ca65b24](https://github.com/JanssenProject/jans/commit/ca65b246808d30a9f8965806c4ce963cc6dea8db)) +* **jans-auth-server:** added restriction for request_uri parameter (blocklist and allowed client.request_uri) [#1503](https://github.com/JanssenProject/jans/issues/1503) ([0696d92](https://github.com/JanssenProject/jans/commit/0696d92094eeb2ed36f6b0075680634acbf8992f)) +* **jans-auth-server:** added sid and authn_time for active sessions response ([bf9b572](https://github.com/JanssenProject/jans/commit/bf9b572b835d37cc23b2c57437a3830a8ebf55f0)) +* **jans-auth-server:** if applicationType is not set during client registration AS should default to 'web' [#1687](https://github.com/JanssenProject/jans/issues/1687) ([f9695e1](https://github.com/JanssenProject/jans/commit/f9695e1c11389c6f3c0614199b0774f491de8030)) +* **jans-auth-server:** improve client assertion creation code (ClientAuthnRequest) [#1182](https://github.com/JanssenProject/jans/issues/1182) ([81946b2](https://github.com/JanssenProject/jans/commit/81946b22023e9eade94b9202adc6fb32b21652cf)) +* **jans-auth-server:** improved TokenRestWebServiceValidator and added test for it [#1591](https://github.com/JanssenProject/jans/issues/1591) ([929048e](https://github.com/JanssenProject/jans/commit/929048eb41e3c79b25c7474c0a2596b013a3e91c)) +* **jans-auth-server:** jwt "exp" must consider "keyRegenerationInterval" [#1233](https://github.com/JanssenProject/jans/issues/1233) ([023cf8a](https://github.com/JanssenProject/jans/commit/023cf8a1a1cf5ece4e0780fccd62b3acbefa768c)) +* **jans-auth-server:** make check whether user is active case insensitive [#1550](https://github.com/JanssenProject/jans/issues/1550) ([d141837](https://github.com/JanssenProject/jans/commit/d14183708a04cdc6406167acc3126f253f212efa)) +* **jans-auth-server:** persist org_id from software statement into client's "o" attribute ([021d3bd](https://github.com/JanssenProject/jans/commit/021d3bd17f8a9814e5a0d59b4f28b0c19da88ced)) +* **jans-auth-server:** removed dcrSkipSignatureValidation configuration property [#1623](https://github.com/JanssenProject/jans/issues/1623) ([6550247](https://github.com/JanssenProject/jans/commit/6550247ca727d9437ffceec3fa12b9fef93b81e4)) +* **jans-auth-server:** removed id_generation_endpoint and other claims from discovery response [#1827](https://github.com/JanssenProject/jans/issues/1827) ([4068197](https://github.com/JanssenProject/jans/commit/40681972a84d691b5d138bc603f32ec80de84fa2)) +* **jans-auth-server:** split grant validation logic into TokenRestWebServiceValidator [#1591](https://github.com/JanssenProject/jans/issues/1591) ([812e605](https://github.com/JanssenProject/jans/commit/812e605bf1c0d9041db008fba81515455ab38fab)) +* **jans-auth-server:** split validation logic to TokenRestWebServiceValidator [#1591](https://github.com/JanssenProject/jans/issues/1591) ([f9f6f49](https://github.com/JanssenProject/jans/commit/f9f6f49c8874cb0a1c71ff0bc0a75e244077feb9)) +* **jans-auth-server:** updating arquillian tests 1247 ([#2017](https://github.com/JanssenProject/jans/issues/2017)) ([ee200a7](https://github.com/JanssenProject/jans/commit/ee200a7dce5d750f3c4a9d536aa8d92a89926711)) +* jans-cli tabulate scim user list ([#1518](https://github.com/JanssenProject/jans/issues/1518)) ([d370978](https://github.com/JanssenProject/jans/commit/d370978fcdad6e6a4027af1bb2610de3513653ba)) +* **jans-client-api:** migration to Weld/Resteasy and Jetty 11 - Issue 260 ([#1319](https://github.com/JanssenProject/jans/issues/1319)) ([420ffc3](https://github.com/JanssenProject/jans/commit/420ffc3329b91c52d5c9996d7c1e600d9b6fead2)) +* **jans-client-api:** Use injectable operations and remove serviceprovider ([#1643](https://github.com/JanssenProject/jans/issues/1643)) ([982cab3](https://github.com/JanssenProject/jans/commit/982cab3bc3f499d3ec3fbefbd10cb87f58333998)) +* **jans-config-api:** added new attributes ([#1940](https://github.com/JanssenProject/jans/issues/1940)) ([757b22f](https://github.com/JanssenProject/jans/commit/757b22fcc03c28d950eb98b4503d1915fa15b025)) +* **jans-config-api:** agama configuration integration ([#1501](https://github.com/JanssenProject/jans/issues/1501)) ([e84575b](https://github.com/JanssenProject/jans/commit/e84575b018f1910860ca6fbf13f5418e8fa131f6)) +* **jans-config-api:** agama flow endpoint ([#1898](https://github.com/JanssenProject/jans/issues/1898)) ([0e73306](https://github.com/JanssenProject/jans/commit/0e73306f7642a74a3ed2cf8a8687a1ea447aa7bd)) +* **jans-config-api:** agama patch endpoint ([#2028](https://github.com/JanssenProject/jans/issues/2028)) ([0b96a95](https://github.com/JanssenProject/jans/commit/0b96a95399cac02fee614523ae5b552c99c1e254)) +* **jans-config-api:** endpoint to get UmaResource based on clientId and swagger changes ([#1912](https://github.com/JanssenProject/jans/issues/1912)) ([a3f9145](https://github.com/JanssenProject/jans/commit/a3f91453dd8fa5e9c903827b458bc58e735eda55)) +* **jans-config-api:** enhancement to agama and uma resource endpoint ([#2015](https://github.com/JanssenProject/jans/issues/2015)) ([f2c19a1](https://github.com/JanssenProject/jans/commit/f2c19a14b0b5b869eb97afd24ac7169328f22b2f)) +* **jans-config-api:** enhancement to expose user inum at root level of response ([#1477](https://github.com/JanssenProject/jans/issues/1477)) ([1e4b6bc](https://github.com/JanssenProject/jans/commit/1e4b6bc9955a0cd91d6dff000a860ca96b6bd822)) +* **jans-config-api:** fetch the associated clients_id in GET scopes api response ([#1946](https://github.com/JanssenProject/jans/issues/1946)) ([ffe743c](https://github.com/JanssenProject/jans/commit/ffe743ca007d3a1ca7011f47df9c0a4124c93e5c)) +* **jans-config-api:** fixed user management swagger spec for mandatory fields ([#1519](https://github.com/JanssenProject/jans/issues/1519)) ([29ff812](https://github.com/JanssenProject/jans/commit/29ff812c7d6cb94e98886ea7cab0ab08a44879dd)) +* **jans-config-api:** new endpoint to fetch scope by creator and type ([#2098](https://github.com/JanssenProject/jans/issues/2098)) ([cf15d67](https://github.com/JanssenProject/jans/commit/cf15d678f26de3bb2e645040ad25bcb21a03691f)) +* **jans-config-api:** new functionality and swagger fix ([#1802](https://github.com/JanssenProject/jans/issues/1802)) ([fc81d1d](https://github.com/JanssenProject/jans/commit/fc81d1d8a974350547bb6d1d22a8818140325f57)) +* **jans-config-api:** Scope object changes for creator details ([#2033](https://github.com/JanssenProject/jans/issues/2033)) ([a8b8d76](https://github.com/JanssenProject/jans/commit/a8b8d76640ff6520a462ff2bb477db50c2b60207)) +* **jans-config-api:** session management endpoint ([#2158](https://github.com/JanssenProject/jans/issues/2158)) ([30f6e1a](https://github.com/JanssenProject/jans/commit/30f6e1a4bacb90a711ed6f91bc124267d44b9d44)) +* **jans-config-api:** swagger spec change to expose user inum at root level of response ([#1483](https://github.com/JanssenProject/jans/issues/1483)) ([c202705](https://github.com/JanssenProject/jans/commit/c202705f2585c4f8f8c9259ad41b388e97f97573)) +* **jans-config-api:** user management endpoint 418 ([#1548](https://github.com/JanssenProject/jans/issues/1548)) ([b95fa7b](https://github.com/JanssenProject/jans/commit/b95fa7bcd56ef39f8478a9e879c493f815b29dd3)) +* **jans-core:** added StandaloneJavaCustomScriptManagerTest ([48ba08b](https://github.com/JanssenProject/jans/commit/48ba08b2f336c2cef1f244d1411c71859fe337a4)) +* jans-linux-setup add forgot password script ([#1587](https://github.com/JanssenProject/jans/issues/1587)) ([b2e3eb3](https://github.com/JanssenProject/jans/commit/b2e3eb3f07bfc877ee6aee9a3fdd187d7abbf52b)) +* jans-linux-setup agama ([#1486](https://github.com/JanssenProject/jans/issues/1486)) ([6b23bfe](https://github.com/JanssenProject/jans/commit/6b23bfe19ef960039f76df4de167c159312dd930)) +* jans-linux-setup debian 11 packages ([#1769](https://github.com/JanssenProject/jans/issues/1769)) ([6fbef91](https://github.com/JanssenProject/jans/commit/6fbef91dcb4e14aaa78a898d945ef2c2e38ca722)) +* jans-linux-setup Script for Keystroke Authentication ([#1853](https://github.com/JanssenProject/jans/issues/1853)) ([11a9e04](https://github.com/JanssenProject/jans/commit/11a9e040923925d2a3009bfc208321c9ea7ad33c)) +* **jans-linux-setup:** [#1731](https://github.com/JanssenProject/jans/issues/1731) ([#1732](https://github.com/JanssenProject/jans/issues/1732)) ([6fad15b](https://github.com/JanssenProject/jans/commit/6fad15b339c5e6b29055e3acf350f455c47ddc93)) +* **jans-linux-setup:** added discoveryDenyKeys [#1827](https://github.com/JanssenProject/jans/issues/1827) ([f77a6da](https://github.com/JanssenProject/jans/commit/f77a6da20a4a699998cac7c5dc098d09519c2fe4)) +* **jans-orm:** update Couchbase ORM to use SDK 3.x [#1851](https://github.com/JanssenProject/jans/issues/1851) ([#1852](https://github.com/JanssenProject/jans/issues/1852)) ([d9d5157](https://github.com/JanssenProject/jans/commit/d9d5157c3421f4995ee4abd6918c106f9a78dd5f)) +* **jans-scim:** make max no. of operations and payload size of bulks operations parameterizable ([#1872](https://github.com/JanssenProject/jans/issues/1872)) ([c27a45b](https://github.com/JanssenProject/jans/commit/c27a45bb0a19257c824c4e195f203e9b9b45ec88)) +* need to fetch the associated clients_id in GET scopes api response [#1923](https://github.com/JanssenProject/jans/issues/1923) ([#1949](https://github.com/JanssenProject/jans/issues/1949)) ([88606a5](https://github.com/JanssenProject/jans/commit/88606a5ad01b9444f533ee4ea85ea0ca57dc49d8)) +* proper plugin activation of config-api container ([#1627](https://github.com/JanssenProject/jans/issues/1627)) ([07cabb9](https://github.com/JanssenProject/jans/commit/07cabb9c310fb0b00afa419599b2e032c7cf1652)) +* update Coucbase ORM to conform SDK 3.x (config updates) [#1851](https://github.com/JanssenProject/jans/issues/1851) ([#2118](https://github.com/JanssenProject/jans/issues/2118)) ([fceec83](https://github.com/JanssenProject/jans/commit/fceec8332fb36826e5dccb797ee79b769859e126)) +* update DSL to support shorthand for finish [#1628](https://github.com/JanssenProject/jans/issues/1628) ([71e4652](https://github.com/JanssenProject/jans/commit/71e46524492d48fccf2ed2840ede3d6ae525a3e3)) + + +### Bug Fixes + +* : start_date and end_date not required in /stat reponse (swagger specs) [#1767](https://github.com/JanssenProject/jans/issues/1767) ([#1768](https://github.com/JanssenProject/jans/issues/1768)) ([c21452a](https://github.com/JanssenProject/jans/commit/c21452a95567da2f7441e57268268b8d6cb65cfb)) +* [#2143](https://github.com/JanssenProject/jans/issues/2143) ([#2144](https://github.com/JanssenProject/jans/issues/2144)) ([ff7f9f4](https://github.com/JanssenProject/jans/commit/ff7f9f4110d72b333aae0d2332b429dcbd067da3)) +* [#2157](https://github.com/JanssenProject/jans/issues/2157) ([#2159](https://github.com/JanssenProject/jans/issues/2159)) ([dc8cb60](https://github.com/JanssenProject/jans/commit/dc8cb60990052256b46842f85ebf4961beee82dd)) +* a workaround for fido2 dependency ([#1590](https://github.com/JanssenProject/jans/issues/1590)) ([527c928](https://github.com/JanssenProject/jans/commit/527c928d5769320a57d203d59175077e10c2d30a)) +* add path parameter to /fido2/registration/entries [#1465](https://github.com/JanssenProject/jans/issues/1465) ([#1508](https://github.com/JanssenProject/jans/issues/1508)) ([808d0c4](https://github.com/JanssenProject/jans/commit/808d0c4a9b2701c9238926141e22662b918e5990)) +* **agama:** template overriding not working with more than one level of nesting ([#1841](https://github.com/JanssenProject/jans/issues/1841)) ([723922a](https://github.com/JanssenProject/jans/commit/723922a17b1babc49a1135030c06db367726ab63)) +* build from source ([#1793](https://github.com/JanssenProject/jans/issues/1793)) ([e389363](https://github.com/JanssenProject/jans/commit/e389363e3fdad7149cdd73ea6fcbc4058f38819a)) +* **config-api:** fixing discrepancies in the api ([#2216](https://github.com/JanssenProject/jans/issues/2216)) ([af4d3a5](https://github.com/JanssenProject/jans/commit/af4d3a51ce2cbe8c531f8dca213d0c3ef087aad5)) +* correct the link to image ([#1660](https://github.com/JanssenProject/jans/issues/1660)) ([0943d81](https://github.com/JanssenProject/jans/commit/0943d813f782a3babaa5166f426533fd561419a5)) +* docker-jans-persistence-loader/Dockerfile to reduce vulnerabilities ([#1829](https://github.com/JanssenProject/jans/issues/1829)) ([8e4ae15](https://github.com/JanssenProject/jans/commit/8e4ae15de9c93414e3e6e03539cfebc45e71e03e)) +* don't execute next paged search if current result count less than ([#2171](https://github.com/JanssenProject/jans/issues/2171)) ([94a162f](https://github.com/JanssenProject/jans/commit/94a162f4471ec6e4798721894b4a5a583ad71370)) +* fido2-plugin throwing error during deployment [#1632](https://github.com/JanssenProject/jans/issues/1632) ([#1633](https://github.com/JanssenProject/jans/issues/1633)) ([90d2c8a](https://github.com/JanssenProject/jans/commit/90d2c8ace819b784a293df698e316c13a8548fd1)) +* fix typos and other issues in jans-config-api swagger specs [#1665](https://github.com/JanssenProject/jans/issues/1665) ([#1668](https://github.com/JanssenProject/jans/issues/1668)) ([3c3a0f4](https://github.com/JanssenProject/jans/commit/3c3a0f47f6274c8b106bebabc38df927a4238ac3)) +* **images:** conform to new couchbase persistence configuration ([#2188](https://github.com/JanssenProject/jans/issues/2188)) ([c708542](https://github.com/JanssenProject/jans/commit/c7085427fd298f74e8809ef4d6c39f780fa83776)) +* include idtoken with dynamic scopes for ciba ([#2108](https://github.com/JanssenProject/jans/issues/2108)) ([d9b5341](https://github.com/JanssenProject/jans/commit/d9b5341d50de972c910883c12785ce6d2758588f)) +* indentation ([#1821](https://github.com/JanssenProject/jans/issues/1821)) ([8353092](https://github.com/JanssenProject/jans/commit/83530920d920a6fd71bfb65545816af2e7f8511d)) +* jans app and java version ([#1492](https://github.com/JanssenProject/jans/issues/1492)) ([1257e49](https://github.com/JanssenProject/jans/commit/1257e4923eee28e20018720c8815cd518c28bd2f)) +* Jans cli user userpassword ([#1542](https://github.com/JanssenProject/jans/issues/1542)) ([d2e13a2](https://github.com/JanssenProject/jans/commit/d2e13a2bcb16a14f63f3bd99c4b3dc83d2a96d9a)) +* **jans-auth-server:** client tests expects "scope to claim" mapping which are disabled by default [#1873](https://github.com/JanssenProject/jans/issues/1873) ([958cc92](https://github.com/JanssenProject/jans/commit/958cc9232fafa618cb326c7251486f0add7a15c1)) +* **jans-auth-server:** corrected npe in JwtAuthorizationRequest ([9c9e7bf](https://github.com/JanssenProject/jans/commit/9c9e7bf6442637e9f98e9b7765eb373714130d1d)) +* **jans-auth-server:** disable surefire for jans-auth-static ([7869efa](https://github.com/JanssenProject/jans/commit/7869efabd5bc4b32fd8bf8347093fa87ab774957)) +* **jans-auth-server:** fix missing jsonobject annotation ([#1651](https://github.com/JanssenProject/jans/issues/1651)) ([be5b82a](https://github.com/JanssenProject/jans/commit/be5b82a3ccbc7a0fe9f4ebbb97fa8054657227dc)) +* **jans-auth-server:** fixed NPE during getting AT lifetime [#1233](https://github.com/JanssenProject/jans/issues/1233) ([f8be086](https://github.com/JanssenProject/jans/commit/f8be08658c1478acd59fbbfcd609d78179cb00e9)) +* **jans-auth-server:** fixing client tests effected by "scope to claim" mapping which is disabled by default [#1873](https://github.com/JanssenProject/jans/issues/1873) ([#1910](https://github.com/JanssenProject/jans/issues/1910)) ([6d81792](https://github.com/JanssenProject/jans/commit/6d81792a141ca725004c23f1bdd0a42314ffcb5f)) +* **jans-auth-server:** generate description during built-in key rotation [#1790](https://github.com/JanssenProject/jans/issues/1790) ([#2068](https://github.com/JanssenProject/jans/issues/2068)) ([cd1a77d](https://github.com/JanssenProject/jans/commit/cd1a77dd36a59b19e975c013c8081610a23106ba)) +* **jans-auth-server:** increased period of session authn time check ([#1918](https://github.com/JanssenProject/jans/issues/1918)) ([a41905a](https://github.com/JanssenProject/jans/commit/a41905abba38c051acc7e7d57131da4b7c3a1616)) +* **jans-auth-server:** sql localizedstring persistence SqlEntryManager ([#1475](https://github.com/JanssenProject/jans/issues/1475)) ([b959b94](https://github.com/JanssenProject/jans/commit/b959b94e235c8bb554fcbdc8abbc22e3df540dbe)) +* jans-cli download yaml files for build ([#1635](https://github.com/JanssenProject/jans/issues/1635)) ([31b7e49](https://github.com/JanssenProject/jans/commit/31b7e49043d86c9b266590f6437146d625412f60)) +* jans-cli help message format and prompt values (ref: [#1352](https://github.com/JanssenProject/jans/issues/1352)) ([#1478](https://github.com/JanssenProject/jans/issues/1478)) ([37a9181](https://github.com/JanssenProject/jans/commit/37a91819bb7764d2dded27d6b5eafe25de083fe9)) +* jans-cli hide menu item ([#1510](https://github.com/JanssenProject/jans/issues/1510)) ([b70fc52](https://github.com/JanssenProject/jans/commit/b70fc52073a3110c767fbc239bb10cc7924838e8)) +* jans-cli user list failing for empty customAttributes ([#1525](https://github.com/JanssenProject/jans/issues/1525)) ([7cbf10b](https://github.com/JanssenProject/jans/commit/7cbf10b85187c554bf84bc0ceea6bfcf66cb0088)) +* **jans-client-api:** minor observations PR13119 - typo transalation code-improvement ([#1806](https://github.com/JanssenProject/jans/issues/1806)) ([6df2e42](https://github.com/JanssenProject/jans/commit/6df2e422879d8726f2b1d6574fe5492355317bf9)) +* **jans-client-api:** remove jans-config-api dependency and solve wrong test dependencies ([#1737](https://github.com/JanssenProject/jans/issues/1737)) ([97dbe9c](https://github.com/JanssenProject/jans/commit/97dbe9cc3072ca17e9f092cc6d3df5a510778ac2)) +* **jans-client-api:** upgrade seleniumhq version from 3.x to 4.x ([#2110](https://github.com/JanssenProject/jans/issues/2110)) ([d48271e](https://github.com/JanssenProject/jans/commit/d48271e872de72c7085e592988ad2e4e8950116d)) +* jans-config-api add JAVA to programmingLanguage (ref: [#1656](https://github.com/JanssenProject/jans/issues/1656)) ([#1667](https://github.com/JanssenProject/jans/issues/1667)) ([a885a92](https://github.com/JanssenProject/jans/commit/a885a925cdd711158435fedd643f1dd67afad736)) +* **jans-config-api:** avoid loss of attributes in agama endpoints ([#2058](https://github.com/JanssenProject/jans/issues/2058)) ([3c8f816](https://github.com/JanssenProject/jans/commit/3c8f816b62b0efdfffc0e3f53d8371f4510d3ef6)) +* **jans-config-api:** config-api compilation failed in main [#2030](https://github.com/JanssenProject/jans/issues/2030) ([#2031](https://github.com/JanssenProject/jans/issues/2031)) ([1659da1](https://github.com/JanssenProject/jans/commit/1659da1ff4d1d930300ef9c3b3e040eabc7bc0fb)) +* **jans-config-api:** Fix to not update Metadata for PUT and PATCH agama endpoint ([#2046](https://github.com/JanssenProject/jans/issues/2046)) ([da93050](https://github.com/JanssenProject/jans/commit/da93050442d3bc1812d3a8076686ca3e02800c26)) +* **jans-config-api:** fixed due to couchbase cluster changes([#1863](https://github.com/JanssenProject/jans/issues/1863)) ([c996b51](https://github.com/JanssenProject/jans/commit/c996b516cb3f0c4880c4bc78038a5eba666a62c6)) +* **jans-config-api:** fixes for path conflict for SCIM config and spec for UMA Resource mandatory fields ([#1805](https://github.com/JanssenProject/jans/issues/1805)) ([6d8cff6](https://github.com/JanssenProject/jans/commit/6d8cff64d74634e16e100193f34b06990c356d1c)) +* **jans-config-api:** issue UMA scope request being saved as OAUTH ([#2063](https://github.com/JanssenProject/jans/issues/2063)) ([81472aa](https://github.com/JanssenProject/jans/commit/81472aa3da4b02af7ed1bd47753d6938ec0c3e01)) +* **jans-config-api:** rectified endpoint url in swagger spec for uma resource ([#1965](https://github.com/JanssenProject/jans/issues/1965)) ([0dc3b2e](https://github.com/JanssenProject/jans/commit/0dc3b2e60825f9921f28c9eeff30ffefa8bda269)) +* **jans-config-api:** removed java_script from programmingLanguages ([8b935d8](https://github.com/JanssenProject/jans/commit/8b935d8249ab97f912993a07be0a093b89e52c8b)) +* **jans-config-api:** swagger spec change to add missing attributes for Client ([#1786](https://github.com/JanssenProject/jans/issues/1786)) ([e623771](https://github.com/JanssenProject/jans/commit/e62377194616a8a39c86689b30cab92235124fc3)) +* **jans-config-api:** switch to 1.0.1-SNAPSHOT ([e8a9186](https://github.com/JanssenProject/jans/commit/e8a918647da488038ff593da875614b6d7c60cc2)) +* **jans-core:** removed redundant reference [#1927](https://github.com/JanssenProject/jans/issues/1927) ([#1928](https://github.com/JanssenProject/jans/issues/1928)) ([064cbb8](https://github.com/JanssenProject/jans/commit/064cbb8040f4d7b21ff13e5f48c7f923c38f67b1)) +* **jans-core:** switch to 1.0.1-SNAPSHOT ([dbe9355](https://github.com/JanssenProject/jans/commit/dbe9355d97618a267df1ab7aa5c0780e125a3420)) +* jans-linux-setup add dummy jansRedirectURI to scim client ([5023c02](https://github.com/JanssenProject/jans/commit/5023c0277dbf6aea969f554978e61bb833210df9)) +* jans-linux-setup add gcs module path for downloading apps ([#1538](https://github.com/JanssenProject/jans/issues/1538)) ([e540738](https://github.com/JanssenProject/jans/commit/e540738e2d0e6816562b4c927c0ce4bfbaafea56)) +* jans-linux-setup add gcs path after packages check (ref: [#1514](https://github.com/JanssenProject/jans/issues/1514)) ([#1516](https://github.com/JanssenProject/jans/issues/1516)) ([31dd609](https://github.com/JanssenProject/jans/commit/31dd609ebe3fb36213cbbafa1db74c6fc50e01a2)) +* jans-linux-setup add mod_rewrite to httpd_2.4.conf ([#1987](https://github.com/JanssenProject/jans/issues/1987)) ([b33b78e](https://github.com/JanssenProject/jans/commit/b33b78ed2e4e1c628db1ce130dfc6735ec93f83c)) +* jans-linux-setup debian11 installation ([#2160](https://github.com/JanssenProject/jans/issues/2160)) ([8b99498](https://github.com/JanssenProject/jans/commit/8b99498ad0d4b7c45b962ad459e81553a0f65d75)) +* jans-linux-setup disable script Forgot_Password_2FA_Token ([#1662](https://github.com/JanssenProject/jans/issues/1662)) ([377affc](https://github.com/JanssenProject/jans/commit/377affc238bca236324dd8eeb9d9e6750879560f)) +* jans-linux-setup displayName of forgot-password script ([#1595](https://github.com/JanssenProject/jans/issues/1595)) ([07a5ea0](https://github.com/JanssenProject/jans/commit/07a5ea017c8d120b28e2bc578045160e4d3ff0ba)) +* jans-linux-setup download jans-auth for --download-exit ([#1659](https://github.com/JanssenProject/jans/issues/1659)) ([879ed87](https://github.com/JanssenProject/jans/commit/879ed87035265f6bb714ba6283fb274fcdb2fca4)) +* jans-linux-setup enable forgot-password script ([#1597](https://github.com/JanssenProject/jans/issues/1597)) ([149d19c](https://github.com/JanssenProject/jans/commit/149d19cc358b30c4cdd9d1383ace04d911402886)) +* jans-linux-setup humanize os name ([#2066](https://github.com/JanssenProject/jans/issues/2066)) ([8c89638](https://github.com/JanssenProject/jans/commit/8c89638f27e7d440bf82c91df27cdf9d263ae63d)) +* jans-linux-setup jans and jetty version (ref: [#1792](https://github.com/JanssenProject/jans/issues/1792)) ([#1795](https://github.com/JanssenProject/jans/issues/1795)) ([58cbe20](https://github.com/JanssenProject/jans/commit/58cbe20832c2c5efae69321a2a64c06327ae4bf5)) +* jans-linux-setup multiple argument --import-ldif ([#1476](https://github.com/JanssenProject/jans/issues/1476)) ([5556f36](https://github.com/JanssenProject/jans/commit/5556f36073fab29f8d379fe763326c736f5186da)) +* jans-linux-setup no prompt for eleven installation ([#1748](https://github.com/JanssenProject/jans/issues/1748)) ([7228391](https://github.com/JanssenProject/jans/commit/7228391a3e4c8012612289cc17173996fd9670c0)) +* jans-linux-setup python executable when launching setup ([#1683](https://github.com/JanssenProject/jans/issues/1683)) ([87ac58c](https://github.com/JanssenProject/jans/commit/87ac58ca72fdeaafc230183ebe0375537d1c24be)) +* jans-linux-setup remove 101-jans.ldif and 77-customAttributes.ldif ([#1831](https://github.com/JanssenProject/jans/issues/1831)) ([bea6302](https://github.com/JanssenProject/jans/commit/bea6302dfbaf8ecb7fe4eeb53d4f129aa4494aae)) +* jans-linux-setup remove apache config when uninstall ([#1844](https://github.com/JanssenProject/jans/issues/1844)) ([4a5bc3e](https://github.com/JanssenProject/jans/commit/4a5bc3e53e711fa55288e0f118043d34244abf1f)) +* jans-linux-setup remove temporary link file ([#1495](https://github.com/JanssenProject/jans/issues/1495)) ([673859a](https://github.com/JanssenProject/jans/commit/673859a864023e7f2a0ba4a7c36d6fa4a164faaa)) +* jans-linux-setup securing files and dirs under /etc/jans ([#1782](https://github.com/JanssenProject/jans/issues/1782)) ([d64a7ae](https://github.com/JanssenProject/jans/commit/d64a7ae6c39805e61a5fa70da73f8337a8eecfe1)) +* **jans-orm:** fixed npe in filter processor and covered with tests ([ef46516](https://github.com/JanssenProject/jans/commit/ef4651677c415b92d8db01f6bf67eda4d9b9dd03)) +* **jans-orm:** switch to 1.0.1-SNAPSHOT ([0030da7](https://github.com/JanssenProject/jans/commit/0030da76d16eedbdcfc74b72b99705a9fb63cb27)) +* **login.xhtml:** add google client js ([#1666](https://github.com/JanssenProject/jans/issues/1666)) ([daf9849](https://github.com/JanssenProject/jans/commit/daf9849da1f92707b05517f73bfede1a69103365)) +* main docker version ([1220e1c](https://github.com/JanssenProject/jans/commit/1220e1c892c4462b74039bcf64f0cd0cedb80d1f)) +* **pycloudlib:** handle type mismatch for iterable ([#2004](https://github.com/JanssenProject/jans/issues/2004)) ([46e0b2e](https://github.com/JanssenProject/jans/commit/46e0b2e4aff70a97cdcdcd0102dc83d294e45fdc)) +* random password for keystores ([#2102](https://github.com/JanssenProject/jans/issues/2102)) ([b7d9af1](https://github.com/JanssenProject/jans/commit/b7d9af12ecf946498d279a5f577db0528e5522bc)) +* test data for login ([#1757](https://github.com/JanssenProject/jans/issues/1757)) ([e043949](https://github.com/JanssenProject/jans/commit/e0439497d08d09080d7ebd161cd24bcdadfee10f)) +* update chart repo ([8e347a3](https://github.com/JanssenProject/jans/commit/8e347a3c4321c1ba142c05be632630ffc8836cea)) +* update chart repo ([011af9d](https://github.com/JanssenProject/jans/commit/011af9d4ce8cff51d18005d319f5552362c94f19)) +* update error pages ([#1957](https://github.com/JanssenProject/jans/issues/1957)) ([3d63f4d](https://github.com/JanssenProject/jans/commit/3d63f4d3d58e86d499271ebafdbc0dd56f5c4e98)) +* update external modules for otp/fido2 ([#1589](https://github.com/JanssenProject/jans/issues/1589)) ([fc42181](https://github.com/JanssenProject/jans/commit/fc4218110e5130878836a663aba72e67dcefcd10)) +* use iterator to correcly remove OC attribute ([#2138](https://github.com/JanssenProject/jans/issues/2138)) ([b590981](https://github.com/JanssenProject/jans/commit/b590981c53c26f4b1a8b6a0865ddc552e0a347b8)) + + +### Miscellaneous Chores + +* prepare docker images release 1.0.1-1 ([12660a8](https://github.com/JanssenProject/jans/commit/12660a800bacb210bd3fb4b35c9156e9c5445343)) +* prepare helm chart release 1.0.1 ([ae78b76](https://github.com/JanssenProject/jans/commit/ae78b760aa536ecde3b7e7972070e144d6c3c072)) +* release 1.0.1 ([828bfe8](https://github.com/JanssenProject/jans/commit/828bfe80cee87e639839391f98ac3dc2f2d4a920)) +* release 1.0.2 ([43dead6](https://github.com/JanssenProject/jans/commit/43dead615f3508ca393c330c2db27a8fb9d1017a)) +* release 1.0.2-1 ([d01b51a](https://github.com/JanssenProject/jans/commit/d01b51a847bb2f67b52da433ebd1c5e4a66b7c1a)) + +## [1.0.1](https://github.com/JanssenProject/jans/compare/v1.0.0...v1.0.1) (2022-07-06) + + +### Features + +* add newly redesigned jans-client-api ([#1540](https://github.com/JanssenProject/jans/issues/1540)) ([4582ae5](https://github.com/JanssenProject/jans/commit/4582ae563ddf2492c519fdbc7685af2ce3c5529d)) +* add support for date ranges in statistic client [#1575](https://github.com/JanssenProject/jans/issues/1575) ([#1653](https://github.com/JanssenProject/jans/issues/1653)) ([8048cd9](https://github.com/JanssenProject/jans/commit/8048cd9b6ab393b8a3e4a1aaf36e09abe20f605b)) +* add support for requestUriBlockList config ([#1572](https://github.com/JanssenProject/jans/issues/1572)) ([63b3b74](https://github.com/JanssenProject/jans/commit/63b3b7418861e8f4234c54a8d81fe5d21f56387f)) +* **agama:** allow the config-api to perform syntax check of flows ([#1621](https://github.com/JanssenProject/jans/issues/1621)) ([2e99d3a](https://github.com/JanssenProject/jans/commit/2e99d3a9bec389f68086c606062280967ce338ce)) +* **agama:** improve flows timeout ([#1447](https://github.com/JanssenProject/jans/issues/1447)) ([ccfb62e](https://github.com/JanssenProject/jans/commit/ccfb62ec13d371c96a0d597d5a0229864f044373)) +* **agama:** reject usage of repeated input names ([#1484](https://github.com/JanssenProject/jans/issues/1484)) ([aed8cf3](https://github.com/JanssenProject/jans/commit/aed8cf33d89b98f0ac6aae52e145a84a0937d60e)) +* endpoint to get details of connected FIDO devices registered to users [#1465](https://github.com/JanssenProject/jans/issues/1465) ([#1466](https://github.com/JanssenProject/jans/issues/1466)) ([62522fe](https://github.com/JanssenProject/jans/commit/62522fe5aaa2971835c76e8e9b0d4280fee1db32)) +* enhance error handling [#1434](https://github.com/JanssenProject/jans/issues/1434) ([a3f6314](https://github.com/JanssenProject/jans/commit/a3f631421f125501f9c7cf0be207744860d856cc)) +* expose prometheus metrics via jmx exporter ([#1573](https://github.com/JanssenProject/jans/issues/1573)) ([205e320](https://github.com/JanssenProject/jans/commit/205e3206cf87bdb7cf0908bfdd7ee777d1ab955d)) +* fix the dependencies and code issues ([#1473](https://github.com/JanssenProject/jans/issues/1473)) ([f4824c6](https://github.com/JanssenProject/jans/commit/f4824c6c6c6a036c5d01b7a6710f51477a49a3fb)) +* introduce new hybrid persistence mapping ([#1505](https://github.com/JanssenProject/jans/issues/1505)) ([a77ab60](https://github.com/JanssenProject/jans/commit/a77ab602d15cb6bdf4751aaa11c2be9485b04a34)) +* jans linux setup enable/disable script via arg ([#1634](https://github.com/JanssenProject/jans/issues/1634)) ([0b3cf16](https://github.com/JanssenProject/jans/commit/0b3cf16f524add8f27ca321ce2d82f6d61660456)) +* jans linux setup openbanking CLI and certificate automation ([#1472](https://github.com/JanssenProject/jans/issues/1472)) ([62b5868](https://github.com/JanssenProject/jans/commit/62b5868e1e864a000be210d250602d43a2719b51)) +* **jans-auth-server:** add support for ranges in statistic endpoint (UI team request) ([fd66720](https://github.com/JanssenProject/jans/commit/fd667203564951ba4fc450bf9fb77ba0e70a75ec)) +* **jans-auth-server:** added convenient method for up-scoping or down-scoping AT scopes [#1218](https://github.com/JanssenProject/jans/issues/1218) ([5d71655](https://github.com/JanssenProject/jans/commit/5d716553c6eb409c2f264864da8b65c0a0bcbe81)) +* **jans-auth-server:** added restriction for request_uri parameter (blocklist and allowed client.request_uri) [#1503](https://github.com/JanssenProject/jans/issues/1503) ([0696d92](https://github.com/JanssenProject/jans/commit/0696d92094eeb2ed36f6b0075680634acbf8992f)) +* **jans-auth-server:** added sid and authn_time for active sessions response ([bf9b572](https://github.com/JanssenProject/jans/commit/bf9b572b835d37cc23b2c57437a3830a8ebf55f0)) +* **jans-auth-server:** improve client assertion creation code (ClientAuthnRequest) [#1182](https://github.com/JanssenProject/jans/issues/1182) ([81946b2](https://github.com/JanssenProject/jans/commit/81946b22023e9eade94b9202adc6fb32b21652cf)) +* **jans-auth-server:** make check whether user is active case insensitive [#1550](https://github.com/JanssenProject/jans/issues/1550) ([d141837](https://github.com/JanssenProject/jans/commit/d14183708a04cdc6406167acc3126f253f212efa)) +* **jans-auth-server:** persist org_id from software statement into client's "o" attribute ([021d3bd](https://github.com/JanssenProject/jans/commit/021d3bd17f8a9814e5a0d59b4f28b0c19da88ced)) +* **jans-auth-server:** removed dcrSkipSignatureValidation configuration property [#1623](https://github.com/JanssenProject/jans/issues/1623) ([6550247](https://github.com/JanssenProject/jans/commit/6550247ca727d9437ffceec3fa12b9fef93b81e4)) +* jans-cli --no-suggestion for automated testing ([#1437](https://github.com/JanssenProject/jans/issues/1437)) ([187cc07](https://github.com/JanssenProject/jans/commit/187cc0742102e3d1a708c6b9fffce32d1ac1ebd2)) +* jans-cli tabulate scim user list ([#1518](https://github.com/JanssenProject/jans/issues/1518)) ([d370978](https://github.com/JanssenProject/jans/commit/d370978fcdad6e6a4027af1bb2610de3513653ba)) +* **jans-client-api:** migration to Weld/Resteasy and Jetty 11 - Issue 260 ([#1319](https://github.com/JanssenProject/jans/issues/1319)) ([420ffc3](https://github.com/JanssenProject/jans/commit/420ffc3329b91c52d5c9996d7c1e600d9b6fead2)) +* **jans-config-api:** agama configuration integration ([#1501](https://github.com/JanssenProject/jans/issues/1501)) ([e84575b](https://github.com/JanssenProject/jans/commit/e84575b018f1910860ca6fbf13f5418e8fa131f6)) +* **jans-config-api:** enhancement to expose user inum at root level of response ([#1477](https://github.com/JanssenProject/jans/issues/1477)) ([1e4b6bc](https://github.com/JanssenProject/jans/commit/1e4b6bc9955a0cd91d6dff000a860ca96b6bd822)) +* **jans-config-api:** fixed user management swagger spec for mandatory fields ([#1519](https://github.com/JanssenProject/jans/issues/1519)) ([29ff812](https://github.com/JanssenProject/jans/commit/29ff812c7d6cb94e98886ea7cab0ab08a44879dd)) +* **jans-config-api:** swagger spec change to expose user inum at root level of response ([#1483](https://github.com/JanssenProject/jans/issues/1483)) ([c202705](https://github.com/JanssenProject/jans/commit/c202705f2585c4f8f8c9259ad41b388e97f97573)) +* **jans-config-api:** user management endpoint 418 ([#1548](https://github.com/JanssenProject/jans/issues/1548)) ([b95fa7b](https://github.com/JanssenProject/jans/commit/b95fa7bcd56ef39f8478a9e879c493f815b29dd3)) +* **jans-core:** added Discovery.java script and sample external service ([440f2dd](https://github.com/JanssenProject/jans/commit/440f2dd41a0dafc915fd409b21da454f8cf1e046)) +* **jans-core:** added StandaloneJavaCustomScriptManagerTest ([48ba08b](https://github.com/JanssenProject/jans/commit/48ba08b2f336c2cef1f244d1411c71859fe337a4)) +* **jans-core:** added test dependencies to scripts ([53e5f67](https://github.com/JanssenProject/jans/commit/53e5f6725648521a983a86a533f62587b902f951)) +* jans-linux-setup add forgot password script ([#1587](https://github.com/JanssenProject/jans/issues/1587)) ([b2e3eb3](https://github.com/JanssenProject/jans/commit/b2e3eb3f07bfc877ee6aee9a3fdd187d7abbf52b)) +* jans-linux-setup agama ([#1486](https://github.com/JanssenProject/jans/issues/1486)) ([6b23bfe](https://github.com/JanssenProject/jans/commit/6b23bfe19ef960039f76df4de167c159312dd930)) +* proper plugin activation of config-api container ([#1627](https://github.com/JanssenProject/jans/issues/1627)) ([07cabb9](https://github.com/JanssenProject/jans/commit/07cabb9c310fb0b00afa419599b2e032c7cf1652)) +* update DSL to support shorthand for finish [#1628](https://github.com/JanssenProject/jans/issues/1628) ([71e4652](https://github.com/JanssenProject/jans/commit/71e46524492d48fccf2ed2840ede3d6ae525a3e3)) + + +### Bug Fixes + +* a workaround for fido2 dependency ([#1590](https://github.com/JanssenProject/jans/issues/1590)) ([527c928](https://github.com/JanssenProject/jans/commit/527c928d5769320a57d203d59175077e10c2d30a)) +* add path parameter to /fido2/registration/entries [#1465](https://github.com/JanssenProject/jans/issues/1465) ([#1508](https://github.com/JanssenProject/jans/issues/1508)) ([808d0c4](https://github.com/JanssenProject/jans/commit/808d0c4a9b2701c9238926141e22662b918e5990)) +* correct the link to image ([#1660](https://github.com/JanssenProject/jans/issues/1660)) ([0943d81](https://github.com/JanssenProject/jans/commit/0943d813f782a3babaa5166f426533fd561419a5)) +* fido2-plugin throwing error during deployment [#1632](https://github.com/JanssenProject/jans/issues/1632) ([#1633](https://github.com/JanssenProject/jans/issues/1633)) ([90d2c8a](https://github.com/JanssenProject/jans/commit/90d2c8ace819b784a293df698e316c13a8548fd1)) +* fix typos and other issues in jans-config-api swagger specs [#1665](https://github.com/JanssenProject/jans/issues/1665) ([#1668](https://github.com/JanssenProject/jans/issues/1668)) ([3c3a0f4](https://github.com/JanssenProject/jans/commit/3c3a0f47f6274c8b106bebabc38df927a4238ac3)) +* jans app and java version ([#1492](https://github.com/JanssenProject/jans/issues/1492)) ([1257e49](https://github.com/JanssenProject/jans/commit/1257e4923eee28e20018720c8815cd518c28bd2f)) +* Jans cli user userpassword ([#1542](https://github.com/JanssenProject/jans/issues/1542)) ([d2e13a2](https://github.com/JanssenProject/jans/commit/d2e13a2bcb16a14f63f3bd99c4b3dc83d2a96d9a)) +* **jans-auth-server:** added SessionRestWebService to rest initializer ([f0ebf67](https://github.com/JanssenProject/jans/commit/f0ebf67703d52d35c2788b1f528a9f7081dcab6a)) +* **jans-auth-server:** corrected npe in JwtAuthorizationRequest ([9c9e7bf](https://github.com/JanssenProject/jans/commit/9c9e7bf6442637e9f98e9b7765eb373714130d1d)) +* **jans-auth-server:** disable surefire for jans-auth-static ([7869efa](https://github.com/JanssenProject/jans/commit/7869efabd5bc4b32fd8bf8347093fa87ab774957)) +* **jans-auth-server:** fix missing jsonobject annotation ([#1651](https://github.com/JanssenProject/jans/issues/1651)) ([be5b82a](https://github.com/JanssenProject/jans/commit/be5b82a3ccbc7a0fe9f4ebbb97fa8054657227dc)) +* **jans-auth-server:** sql localizedstring persistence SqlEntryManager ([#1475](https://github.com/JanssenProject/jans/issues/1475)) ([b959b94](https://github.com/JanssenProject/jans/commit/b959b94e235c8bb554fcbdc8abbc22e3df540dbe)) +* jans-cli download yaml files for build ([#1635](https://github.com/JanssenProject/jans/issues/1635)) ([31b7e49](https://github.com/JanssenProject/jans/commit/31b7e49043d86c9b266590f6437146d625412f60)) +* jans-cli help message format and prompt values (ref: [#1352](https://github.com/JanssenProject/jans/issues/1352)) ([#1478](https://github.com/JanssenProject/jans/issues/1478)) ([37a9181](https://github.com/JanssenProject/jans/commit/37a91819bb7764d2dded27d6b5eafe25de083fe9)) +* jans-cli hide menu item ([#1510](https://github.com/JanssenProject/jans/issues/1510)) ([b70fc52](https://github.com/JanssenProject/jans/commit/b70fc52073a3110c767fbc239bb10cc7924838e8)) +* jans-cli user list failing for empty customAttributes ([#1525](https://github.com/JanssenProject/jans/issues/1525)) ([7cbf10b](https://github.com/JanssenProject/jans/commit/7cbf10b85187c554bf84bc0ceea6bfcf66cb0088)) +* jans-config-api add JAVA to programmingLanguage (ref: [#1656](https://github.com/JanssenProject/jans/issues/1656)) ([#1667](https://github.com/JanssenProject/jans/issues/1667)) ([a885a92](https://github.com/JanssenProject/jans/commit/a885a925cdd711158435fedd643f1dd67afad736)) +* **jans-config-api:** removed java_script from programmingLanguages ([8b935d8](https://github.com/JanssenProject/jans/commit/8b935d8249ab97f912993a07be0a093b89e52c8b)) +* **jans-config-api:** switch to 1.0.1-SNAPSHOT ([e8a9186](https://github.com/JanssenProject/jans/commit/e8a918647da488038ff593da875614b6d7c60cc2)) +* **jans-core:** switch to 1.0.1-SNAPSHOT ([dbe9355](https://github.com/JanssenProject/jans/commit/dbe9355d97618a267df1ab7aa5c0780e125a3420)) +* jans-linux-setup add gcs module path for downloading apps ([#1538](https://github.com/JanssenProject/jans/issues/1538)) ([e540738](https://github.com/JanssenProject/jans/commit/e540738e2d0e6816562b4c927c0ce4bfbaafea56)) +* jans-linux-setup add gcs path after packages check (ref: [#1514](https://github.com/JanssenProject/jans/issues/1514)) ([#1516](https://github.com/JanssenProject/jans/issues/1516)) ([31dd609](https://github.com/JanssenProject/jans/commit/31dd609ebe3fb36213cbbafa1db74c6fc50e01a2)) +* jans-linux-setup disable script Forgot_Password_2FA_Token ([#1662](https://github.com/JanssenProject/jans/issues/1662)) ([377affc](https://github.com/JanssenProject/jans/commit/377affc238bca236324dd8eeb9d9e6750879560f)) +* jans-linux-setup displayName of forgot-password script ([#1595](https://github.com/JanssenProject/jans/issues/1595)) ([07a5ea0](https://github.com/JanssenProject/jans/commit/07a5ea017c8d120b28e2bc578045160e4d3ff0ba)) +* jans-linux-setup download jans-auth for --download-exit ([#1659](https://github.com/JanssenProject/jans/issues/1659)) ([879ed87](https://github.com/JanssenProject/jans/commit/879ed87035265f6bb714ba6283fb274fcdb2fca4)) +* jans-linux-setup enable forgot-password script ([#1597](https://github.com/JanssenProject/jans/issues/1597)) ([149d19c](https://github.com/JanssenProject/jans/commit/149d19cc358b30c4cdd9d1383ace04d911402886)) +* jans-linux-setup multiple argument --import-ldif ([#1476](https://github.com/JanssenProject/jans/issues/1476)) ([5556f36](https://github.com/JanssenProject/jans/commit/5556f36073fab29f8d379fe763326c736f5186da)) +* jans-linux-setup python executable when launching setup ([#1683](https://github.com/JanssenProject/jans/issues/1683)) ([87ac58c](https://github.com/JanssenProject/jans/commit/87ac58ca72fdeaafc230183ebe0375537d1c24be)) +* jans-linux-setup remove temporary link file ([#1495](https://github.com/JanssenProject/jans/issues/1495)) ([673859a](https://github.com/JanssenProject/jans/commit/673859a864023e7f2a0ba4a7c36d6fa4a164faaa)) +* **jans-orm:** switch to 1.0.1-SNAPSHOT ([0030da7](https://github.com/JanssenProject/jans/commit/0030da76d16eedbdcfc74b72b99705a9fb63cb27)) +* main docker version ([1220e1c](https://github.com/JanssenProject/jans/commit/1220e1c892c4462b74039bcf64f0cd0cedb80d1f)) +* remove jans-auth-common dependency [#1459](https://github.com/JanssenProject/jans/issues/1459) ([75f4fb5](https://github.com/JanssenProject/jans/commit/75f4fb5487b8adc6300c939ea9a0a3302b235d0e)) +* update external modules for otp/fido2 ([#1589](https://github.com/JanssenProject/jans/issues/1589)) ([fc42181](https://github.com/JanssenProject/jans/commit/fc4218110e5130878836a663aba72e67dcefcd10)) +* update pom [#1438](https://github.com/JanssenProject/jans/issues/1438) ([#1439](https://github.com/JanssenProject/jans/issues/1439)) ([66b9962](https://github.com/JanssenProject/jans/commit/66b996286a2285986845677ea039f177f756d962)) + + +### Miscellaneous Chores + +* prepare docker images release 1.0.1-1 ([12660a8](https://github.com/JanssenProject/jans/commit/12660a800bacb210bd3fb4b35c9156e9c5445343)) +* prepare helm chart release 1.0.1 ([ae78b76](https://github.com/JanssenProject/jans/commit/ae78b760aa536ecde3b7e7972070e144d6c3c072)) +* release 1.0.1 ([828bfe8](https://github.com/JanssenProject/jans/commit/828bfe80cee87e639839391f98ac3dc2f2d4a920)) + +## 1.0.0 (2022-05-20) + + +### Features + +* add helper to create persistence entry from LDIF file ([#1262](https://github.com/JanssenProject/jans/issues/1262)) ([f2e653e](https://github.com/JanssenProject/jans/commit/f2e653ef917efd017195f2330b64e64c333f4699)) +* add schema updates [#1390](https://github.com/JanssenProject/jans/issues/1390) ([c9023b3](https://github.com/JanssenProject/jans/commit/c9023b3435fbc8079aabe5c70de3177ec9112308)) +* add script for Google login ([#1141](https://github.com/JanssenProject/jans/issues/1141)) ([bac9144](https://github.com/JanssenProject/jans/commit/bac9144ad8a5f8f2b378aa67663caab9f19f052b)) +* add super-jans project ([1ac74d0](https://github.com/JanssenProject/jans/commit/1ac74d05a7f78bf156e7735d157559b84fad3974)) +* adding logs to debug license issues[#1258](https://github.com/JanssenProject/jans/issues/1258) ([#1281](https://github.com/JanssenProject/jans/issues/1281)) ([8a08771](https://github.com/JanssenProject/jans/commit/8a08771014e3394d4d7b0864d603a1e4b91e2d81)) +* adjust ownership and permission to avoid bloated images ([#1312](https://github.com/JanssenProject/jans/issues/1312)) ([d016682](https://github.com/JanssenProject/jans/commit/d0166821baf52665934c0eaa38de8b2f51825456)) +* allow flows to access their metadata properties [#1340](https://github.com/JanssenProject/jans/issues/1340) ([344ba04](https://github.com/JanssenProject/jans/commit/344ba0448c73e3c56e05f529eea5009b2157c1fc)) +* call id-generation script when creating user/group [#1145](https://github.com/JanssenProject/jans/issues/1145) ([3a9a03a](https://github.com/JanssenProject/jans/commit/3a9a03a101536f6616aa6b94d841bd1457815b31)) +* config-cli enumerate scope type ([275533b](https://github.com/JanssenProject/jans/commit/275533b26f4715113d83ea9cabe4a66cd283a189)) +* create apis to verify and save license api-keys in Admin UI [#1196](https://github.com/JanssenProject/jans/issues/1196) ([#1203](https://github.com/JanssenProject/jans/issues/1203)) ([315faec](https://github.com/JanssenProject/jans/commit/315faeca46045716d8aa38fa5448c7581a5e4212)) +* initial agama commit [#1322](https://github.com/JanssenProject/jans/issues/1322) ([#1323](https://github.com/JanssenProject/jans/issues/1323)) ([0148bc8](https://github.com/JanssenProject/jans/commit/0148bc8a32a005e47ba9d090e895282775148a95)) +* Jans linux setup refactor ([#1328](https://github.com/JanssenProject/jans/issues/1328)) ([79d3a75](https://github.com/JanssenProject/jans/commit/79d3a756bf0477907e4364c9887a316d4730c07a)) +* Jans linux setup ubuntu22 Installation ([#1325](https://github.com/JanssenProject/jans/issues/1325)) ([8597750](https://github.com/JanssenProject/jans/commit/85977502e307884423b4b248694cf74b9b66b96a)) +* **jans-auth-config:** user mgmt endpoint - wip ([9c8094a](https://github.com/JanssenProject/jans/commit/9c8094aaed4802d399da812898e1270fe0a0cae5)) +* **jans-auth-server:** [#808](https://github.com/JanssenProject/jans/issues/808) sign-in with apple interception script ([c21183a](https://github.com/JanssenProject/jans/commit/c21183ab6331f95531d76c6d279646cc3c0b600e)) +* **jans-auth-server:** adapted authorization ws to use authzrequest ([58c5336](https://github.com/JanssenProject/jans/commit/58c5336fe4978c3709d060cd46f1847c01782af3)) +* **jans-auth-server:** added authzrequest abstraction ([af8faf0](https://github.com/JanssenProject/jans/commit/af8faf008eec21a952c3d474169e57a9aece9152)) +* **jans-auth-server:** authorized acr values ([#1068](https://github.com/JanssenProject/jans/issues/1068)) ([26e576a](https://github.com/JanssenProject/jans/commit/26e576a5be90ac9597ed37e0d3629a2701008fcf)) +* **jans-auth-server:** changed prog lang name python->jython ([b9ba291](https://github.com/JanssenProject/jans/commit/b9ba291e576b8443f37c774088747bab09db2db9)) +* **jans-auth-server:** client registration language metadata ([#1237](https://github.com/JanssenProject/jans/issues/1237)) ([a8d0157](https://github.com/JanssenProject/jans/commit/a8d0157b0a8664e5e4d58a9524a0fa20df324381)) +* **jans-auth-server:** enable person authn script to have multiple acr names ([#1074](https://github.com/JanssenProject/jans/issues/1074)) ([1dc9250](https://github.com/JanssenProject/jans/commit/1dc9250b9140cfe2a7ea3daff6c9e0d6383c4bce)) +* **jans-auth-server:** force signed request object ([#1052](https://github.com/JanssenProject/jans/issues/1052)) ([28ebbc1](https://github.com/JanssenProject/jans/commit/28ebbc10d545ad69ceb4e9a625fbbf13e6360b75)) +* **jans-auth-server:** hide 302 redirect exception in logs [#1294](https://github.com/JanssenProject/jans/issues/1294) ([00197c7](https://github.com/JanssenProject/jans/commit/00197c720b444e50c84f49f696fd14768f8fdb08)) +* **jans-auth,jans-cli,jans-config-api:** changes to handle new attribute description in Client object and new custom script type ([d64e042](https://github.com/JanssenProject/jans/commit/d64e0424063c79e35b135f4a8bd48f04591b043c)) +* **jans-auth,jans-cli,jans-config-api:** changes to handle new attribute description in Client object and new custom script type ([a096110](https://github.com/JanssenProject/jans/commit/a096110d157dec7a0c047692e158c53872fe92fe)) +* **jans-auth,jans-cli,jans-config-api:** changes to handle new attribute description in Client object and new custom script type ([d4a9f15](https://github.com/JanssenProject/jans/commit/d4a9f15c3244961cfef6e3229c2e2e49cf85ba0d)) +* jans-cli display users in tabular form ([#1296](https://github.com/JanssenProject/jans/issues/1296)) ([7f75d39](https://github.com/JanssenProject/jans/commit/7f75d393cb2854fce58f02f40b90ac4fa9f2a100)) +* jans-cli group common items in menu (ref: [#892](https://github.com/JanssenProject/jans/issues/892)) ([#1306](https://github.com/JanssenProject/jans/issues/1306)) ([819f8f7](https://github.com/JanssenProject/jans/commit/819f8f704ab176b70b4daa9c7aca5d662e39a39f)) +* jans-cli obtain list of attrbiutes from server when creating user ([1f9b62d](https://github.com/JanssenProject/jans/commit/1f9b62dd133d442d66ef5d3ed6a8cd3ad6da5f7b)) +* jans-cli tabulate attribute list ([#1313](https://github.com/JanssenProject/jans/issues/1313)) ([a684484](https://github.com/JanssenProject/jans/commit/a684484d403f9ed52e4c6749f21bd255523a134e)) +* jans-cli use test client (ref: [#1283](https://github.com/JanssenProject/jans/issues/1283)) ([#1285](https://github.com/JanssenProject/jans/issues/1285)) ([6320af7](https://github.com/JanssenProject/jans/commit/6320af7ed82ea6fac5672c1c348aeecb7a4b5d7a)) +* **jans-config-api:** added custom script patch endpoint ([6daa4f6](https://github.com/JanssenProject/jans/commit/6daa4f61d3a72a0523912bb79566e2e62a6d84be)) +* **jans-config-api:** added patch endpoint for custom script ([e274e20](https://github.com/JanssenProject/jans/commit/e274e206188e76654de759bc687a56a80cf4bfbc)) +* **jans-config-api:** added patch endpoint for custom script ([f8da77d](https://github.com/JanssenProject/jans/commit/f8da77df201f67055ea7c23c3410e5818a170785)) +* **jans-config-api:** added scope DN validation while client creation ([#1293](https://github.com/JanssenProject/jans/issues/1293)) ([f276605](https://github.com/JanssenProject/jans/commit/f276605cb3a1cedb869733253a48d2d63be2fcdc)) +* **jans-config-api:** converting fido2 endpoint to plugin ([#1304](https://github.com/JanssenProject/jans/issues/1304)) ([88c3fff](https://github.com/JanssenProject/jans/commit/88c3fffe177840324fa5f3c4437fa3d02b9ead9b)) +* **jans-config-api:** exposed attributes at root value ([3c3df7a](https://github.com/JanssenProject/jans/commit/3c3df7a1beee57fb851a4c820fcbbffb8418bd78)) +* **jans-config-api:** exposed attributes at root value ([40570a7](https://github.com/JanssenProject/jans/commit/40570a7b9d2d03358cbfb0d8c3964a4111e15bb5)) +* **jans-config-api:** fixed build issue due to LocalizedString change ([#1329](https://github.com/JanssenProject/jans/issues/1329)) ([3b5ab78](https://github.com/JanssenProject/jans/commit/3b5ab783ed9ddf7c7b47612508cc6ab4c334375d)) +* **jans-config-api:** ignore client.customObjectClasses value for persistence type other than LDAP ([#1073](https://github.com/JanssenProject/jans/issues/1073)) ([622bcf4](https://github.com/JanssenProject/jans/commit/622bcf4afae94cddff2a19ca5178f2b8230165d5)) +* **jans-config-api:** rectified test properties file ([#1222](https://github.com/JanssenProject/jans/issues/1222)) ([5b80f67](https://github.com/JanssenProject/jans/commit/5b80f672508ea4fa6956c466bfa971684892b6ce)) +* **jans-config-api:** removed encrypttion and decryption of user password ([7f50ad0](https://github.com/JanssenProject/jans/commit/7f50ad064a68412ec67145f1b0866f136804761b)) +* **jans-config-api:** removed unused import ([8a41484](https://github.com/JanssenProject/jans/commit/8a41484412cbcf5cfc00c550506ad81fb0c70e7c)) +* **jans-config-api:** user custom attributes at root level - 1348 ([5b3f0a1](https://github.com/JanssenProject/jans/commit/5b3f0a13e25cd842e0bbd4be3d21eb48ab1d108f)) +* **jans-config-api:** user management api ([b367d44](https://github.com/JanssenProject/jans/commit/b367d440fbcc34fff923bc3040dc4e6026d165fd)) +* **jans-config-api:** user management api ([517e7f2](https://github.com/JanssenProject/jans/commit/517e7f235b536f833fec11e2f0da49b8ab0f26c8)) +* **jans-config-api:** user management api ([a034bc3](https://github.com/JanssenProject/jans/commit/a034bc3f2b80e4eaaa3ed8fba29b52692a5f91a2)) +* **jans-config-api:** user management endpoint ([f28f3b8](https://github.com/JanssenProject/jans/commit/f28f3b86d36199fc137714160cfbdad08e9265f9)) +* **jans-config-api:** user management enhancement to chk mandatory feilds ([903ba5a](https://github.com/JanssenProject/jans/commit/903ba5a9a778c87de6280332dfee0eea71eaf2f5)) +* **jans-config-api:** user management enhancement to chk mandatory feilds ([0bc2282](https://github.com/JanssenProject/jans/commit/0bc22822a390fdd82370c54ed4e15cad06064e02)) +* **jans-config-api:** user management enhancement to chk mandatory feilds ([e6e2781](https://github.com/JanssenProject/jans/commit/e6e2781c70ffbbffe92cbaf87e8607854c3d8da1)) +* **jans-config-api:** user management mandatory field chk changes ([e242ec6](https://github.com/JanssenProject/jans/commit/e242ec6c2d5edf86cc773d467fc4cd848e4bce13)) +* **jans-config-api:** user management patch endpoint ([0a7ad7d](https://github.com/JanssenProject/jans/commit/0a7ad7dba82b419d412329414f5895c22fdcaa68)) +* **jans-config-api:** user mgmt endpoint ([a093758](https://github.com/JanssenProject/jans/commit/a0937580eed7c32a0f8bf573bddb9ac8b7080e2c)) +* **jans-config-api:** user mgmt endpoint ([ad66713](https://github.com/JanssenProject/jans/commit/ad66713700b6988378c4e3c603fb3518f8ade247)) +* **jans-config-api:** user mgmt endpoint ([0f7a723](https://github.com/JanssenProject/jans/commit/0f7a723bc24dd89fdaf3f71afdb4565e1e25f7fe)) +* **jans-config-api:** user mgmt endpoint ([379ca09](https://github.com/JanssenProject/jans/commit/379ca09461c31ec9817d1094aebf5b0fa8c16148)) +* **jans-config-api:** user mgmt endpoint ([f98c59e](https://github.com/JanssenProject/jans/commit/f98c59e15bb1199037cf6ad9caa67ffff23ca451)) +* **jans-config-api:** user mgmt endpoint ([0ea10fd](https://github.com/JanssenProject/jans/commit/0ea10fd10fdd82ea2f170ecfa990c494591ba653)) +* **jans-config-api:** user mgmt endpoint - wip ([70987f6](https://github.com/JanssenProject/jans/commit/70987f65c920943a7e214b9b742cd1f83e877995)) +* **jans-config-api:** user mgmt endpoint - wip ([af30358](https://github.com/JanssenProject/jans/commit/af30358d6f8933c405e68449041d5a9e121f3b9f)) +* **jans-config-api:** user mgmt endpoint - wip ([aadbf8b](https://github.com/JanssenProject/jans/commit/aadbf8b094d42f8acbf031ead6d4324c9925bed0)) +* **jans-config-api:** user mgmt endpoint -wip ([ac35327](https://github.com/JanssenProject/jans/commit/ac35327db9183bd75d314ff162e304e70132a035)) +* **jans-config-api:** user mgmt endpoints ([1d53b2e](https://github.com/JanssenProject/jans/commit/1d53b2e2acd1d0b4f33b37088ad90506aea522f6)) +* **jans-config-api:** user mgmt endpoints ([5cd1ad5](https://github.com/JanssenProject/jans/commit/5cd1ad5fbfddf43dfdbe6f6abf557f386437133d)) +* **jans-config-api:** user mgmt patch endpoint ([1180068](https://github.com/JanssenProject/jans/commit/1180068431f92cd6c21fe024371d363cf5eedd01)) +* **jans-config-api:** user mgmt patch endpoint ([12a08e1](https://github.com/JanssenProject/jans/commit/12a08e13105467c3912680fb47dc1943590b985a)) +* **jans-config-api:** user mgmt patch endpoint ([0427186](https://github.com/JanssenProject/jans/commit/0427186a48def0f16465c96d7839134d8c7902d9)) +* **jans-config-api:** user mgmt patch endpoint ([cb7d36c](https://github.com/JanssenProject/jans/commit/cb7d36cd21ac04f683c38f73d4c9642654886c18)) +* **jans-config-api:** user mgt plugin ([ccc56f8](https://github.com/JanssenProject/jans/commit/ccc56f888cbcda657cb2b66e2915e1cae8c96f88)) +* **jans-config-api:** user mgt plugin ([ae132cf](https://github.com/JanssenProject/jans/commit/ae132cfe829a3d2ff628b22b23ea716e879c769e)) +* **jans-config-api:** user-management endpoints ([#1167](https://github.com/JanssenProject/jans/issues/1167)) ([d8e97c4](https://github.com/JanssenProject/jans/commit/d8e97c4b47b1ff38d4a0207d3f07f461fb807630)) +* **jans-core:** added more error logs if script is not loaded ([4084aeb](https://github.com/JanssenProject/jans/commit/4084aebc7076ac612f569f72478941a9f1284930)) +* **jans-core:** added pure java discovery sample custom script ([1d01ba7](https://github.com/JanssenProject/jans/commit/1d01ba7b67ca5096c987c87c7315e163d632d39a)) +* **jans-core:** compile java code on the fly for custom script ([5da6e27](https://github.com/JanssenProject/jans/commit/5da6e2743761cbdf8f06b3dca9a5cf7c8af1abe3)) +* **jans-core:** corrected StandaloneCustomScriptManager ([0a52ec8](https://github.com/JanssenProject/jans/commit/0a52ec872d5ad7cbe065fbf3868c35df6e015393)) +* **jans-core:** remove UPDATE_USER and USER_REGISTRATION scripts [#1289](https://github.com/JanssenProject/jans/issues/1289) ([c34e75d](https://github.com/JanssenProject/jans/commit/c34e75d49db89999633249376c7b42c41bb1ce24)) +* jans-linux-setup config-api fido2-plugin (ref: [#1303](https://github.com/JanssenProject/jans/issues/1303)) ([#1308](https://github.com/JanssenProject/jans/issues/1308)) ([ea929c0](https://github.com/JanssenProject/jans/commit/ea929c0637c40ee75f3adbd5377c5e08aebbe087)) +* jans-linux-setup copy site packages in case of pyz ([8a8a05e](https://github.com/JanssenProject/jans/commit/8a8a05e4990088c65692b6032d3dd8d084913b49)) +* jans-linux-setup fido metadata folder ([8e95b7a](https://github.com/JanssenProject/jans/commit/8e95b7a3891d7168b08015b9606bad651f33d94e)) +* jans-linux-setup load pure java sample custom script ([#1335](https://github.com/JanssenProject/jans/issues/1335)) ([60cb36c](https://github.com/JanssenProject/jans/commit/60cb36c1f46ac7ef383072a5ad753dc4ef6320b3)) +* jans-linux-setup refactor key reneration for all backends (ref: [#1147](https://github.com/JanssenProject/jans/issues/1147)) ([#1228](https://github.com/JanssenProject/jans/issues/1228)) ([cbe29c4](https://github.com/JanssenProject/jans/commit/cbe29c4990405d9e00f665e51791f5dda94526a2)) +* jans-linux-setup set DefaultTimeoutStartSec=300s ([#1279](https://github.com/JanssenProject/jans/issues/1279)) ([6b511c4](https://github.com/JanssenProject/jans/commit/6b511c4b504303d05e930e01a999c919ec9c7bbc)) +* jans-linux-setup show version ([b16b77d](https://github.com/JanssenProject/jans/commit/b16b77dd0db16f07e2e0de81603be74ec4eab546)) +* **jans-linux-setup:** config-api user management plugin (ref: #[#1213](https://github.com/JanssenProject/jans/issues/1213)) ([#1223](https://github.com/JanssenProject/jans/issues/1223)) ([450c78c](https://github.com/JanssenProject/jans/commit/450c78cc2097a08ea485c26e8df6eb36146ca3be)) +* **jans-linux-setup:** multivalued json enhancement ([#1102](https://github.com/JanssenProject/jans/issues/1102)) ([b8fb658](https://github.com/JanssenProject/jans/commit/b8fb658e36eb13e0d6199eeec093733bf167ca1a)) +* **jans:** jetty 11 integration ([#1123](https://github.com/JanssenProject/jans/issues/1123)) ([6c1caa1](https://github.com/JanssenProject/jans/commit/6c1caa1c4c92d28571f8589cd701e6885d4d85ef)) +* merge ORM from Gluu ([#1200](https://github.com/JanssenProject/jans/issues/1200)) ([685a159](https://github.com/JanssenProject/jans/commit/685a1593fb53e2310cfa38fcd49db94f3453042f)) +* move file downloads to setup ([2680bd0](https://github.com/JanssenProject/jans/commit/2680bd01aa9227aa517de5c7de97c51b9b123a28)) +* pre-populate role scope mapping dynamically ([#1201](https://github.com/JanssenProject/jans/issues/1201)) ([3ab6a11](https://github.com/JanssenProject/jans/commit/3ab6a1167328625c26b32d2b3b7cc46d37216261)) +* remove Jython's pip from images ([#1176](https://github.com/JanssenProject/jans/issues/1176)) ([e3f374f](https://github.com/JanssenProject/jans/commit/e3f374f5bc3c385374593455243c88e2f7dfc00d)) +* user management enhancement to chk mandatory feilds ([3ac4b19](https://github.com/JanssenProject/jans/commit/3ac4b19ada28b11a27707c56ad266ce282f13b60)) + + +### Bug Fixes + +* [#1107](https://github.com/JanssenProject/jans/issues/1107) - not required ([cf46672](https://github.com/JanssenProject/jans/commit/cf466722c5ddd70b491d79a82e080557a32ce161)) +* [#1107](https://github.com/JanssenProject/jans/issues/1107) jansCodeChallengeHash missing ([65ac184](https://github.com/JanssenProject/jans/commit/65ac1846f19e3d8e7d4833e009cb5cdd58ff2c09)) +* add issue guidelines to TOC ([#1188](https://github.com/JanssenProject/jans/issues/1188)) ([192165b](https://github.com/JanssenProject/jans/commit/192165b3eecc3cbcb03a5c9774a4dae212a9ffad)) +* add missing permission and defaultPermissionInToken attribute in role-scope mapping ([#1270](https://github.com/JanssenProject/jans/issues/1270)) ([e2c67ec](https://github.com/JanssenProject/jans/commit/e2c67ec8e662adbaab7c5d735217aa5bcbf8495c)) +* adjust beans and schema [#1107](https://github.com/JanssenProject/jans/issues/1107) ([#1248](https://github.com/JanssenProject/jans/issues/1248)) ([369129d](https://github.com/JanssenProject/jans/commit/369129d0c2614afb536d0e1329ac106fd7da187d)) +* **admin-ui:** the backend issues related to jetty 11 migration [#1258](https://github.com/JanssenProject/jans/issues/1258) ([#1259](https://github.com/JanssenProject/jans/issues/1259)) ([d61be0b](https://github.com/JanssenProject/jans/commit/d61be0bf633020c6bd989e603bb983dc7a45b78b)) +* **agama:** adjust pom version [#1402](https://github.com/JanssenProject/jans/issues/1402) ([#1403](https://github.com/JanssenProject/jans/issues/1403)) ([930f080](https://github.com/JanssenProject/jans/commit/930f0801177d516d6bfa9c536d590556144cbd61)) +* **agama:** adjust pom version [#1402](https://github.com/JanssenProject/jans/issues/1402) ([#1404](https://github.com/JanssenProject/jans/issues/1404)) ([86bf614](https://github.com/JanssenProject/jans/commit/86bf61420bf6b8d236b8200835a2ff05f430308b)) +* avoid duplicated client when re-running persistence-loader and configurator ([#1134](https://github.com/JanssenProject/jans/issues/1134)) ([5567ba9](https://github.com/JanssenProject/jans/commit/5567ba90d0484128b5a875fdc5f1406ce2c69e8a)) +* broken links ([86d0232](https://github.com/JanssenProject/jans/commit/86d023209fd8af5422153b1dd97e2a25a7b59c28)) +* bug(jans-auth-server): custom pages are not found [#1318](https://github.com/JanssenProject/jans/issues/1318) ([e1e0bf9](https://github.com/JanssenProject/jans/commit/e1e0bf943f35906430b0fae5333f3b76f05734c3)) +* change column size of jansFido2AuthnEntry.jansAuthData column ([#1066](https://github.com/JanssenProject/jans/issues/1066)) ([f1c3ffa](https://github.com/JanssenProject/jans/commit/f1c3ffa7fa72114b7e6dc2685789dade0feadf42)) +* code smells ([e5aaad7](https://github.com/JanssenProject/jans/commit/e5aaad7da310b26c4d6a6b8cfb6ed00e442b1629)) +* **config-api:** scim user management endpoint failing due to conflict with user mgmt path ([#1181](https://github.com/JanssenProject/jans/issues/1181)) ([8ee47a0](https://github.com/JanssenProject/jans/commit/8ee47a0c62ac1d13ad4a62367744e106c759bbc9)) +* Data too long for column [#1107](https://github.com/JanssenProject/jans/issues/1107) ([8eb2c70](https://github.com/JanssenProject/jans/commit/8eb2c70c95c2e60486ff1dd5a9e00acd9d70dc3b)) +* errors adding/upgrading data into couchbase persistence ([#1226](https://github.com/JanssenProject/jans/issues/1226)) ([db71324](https://github.com/JanssenProject/jans/commit/db71324ee7a94ac06a5505f7ed0993bf8f1c4f79)) +* extract directory ([fe7a3c5](https://github.com/JanssenProject/jans/commit/fe7a3c564fb867fda4b28181c3158e8d282da238)) +* fix license apis[#1258](https://github.com/JanssenProject/jans/issues/1258) ([#1271](https://github.com/JanssenProject/jans/issues/1271)) ([14c6a2b](https://github.com/JanssenProject/jans/commit/14c6a2b757bf94116faf9c0f13ab8c5e64c31f32)) +* handle index error for JSON columns ([#1205](https://github.com/JanssenProject/jans/issues/1205)) ([90f77c3](https://github.com/JanssenProject/jans/commit/90f77c39beeb8a4c30a46819a7877514fdaa4531)) +* hyperlinks ([#1209](https://github.com/JanssenProject/jans/issues/1209)) ([d1e1ed6](https://github.com/JanssenProject/jans/commit/d1e1ed63d8cea3030b23bd218241fe2275ed6e52)) +* invalid LDAP schema reading token_server client ID ([#1321](https://github.com/JanssenProject/jans/issues/1321)) ([db4f080](https://github.com/JanssenProject/jans/commit/db4f0809bb697cc2e88a7ad58917006f132ea5e5)) +* jans cli update readme ([2f4f57f](https://github.com/JanssenProject/jans/commit/2f4f57f3d1d38e2c7ca8fd2edc1da798dc36d425)) +* **jans-auth-server:** added faces context as source of locale ([#1189](https://github.com/JanssenProject/jans/issues/1189)) ([ce770ae](https://github.com/JanssenProject/jans/commit/ce770aed92c4279647d0bdd541a943ada9e6c743)) +* **jans-auth-server:** authorize page message policy ([#1096](https://github.com/JanssenProject/jans/issues/1096)) ([f10ccb1](https://github.com/JanssenProject/jans/commit/f10ccb166307cf281cbd36c757972eb3e1babf2e)) +* **jans-auth-server:** corrected fallback value of checkUserPresenceOnRefreshToken ([a822ae5](https://github.com/JanssenProject/jans/commit/a822ae5546934f4d9cabd1c3e4540b4a23d5abe0)) +* **jans-auth-server:** corrected log vulnerability ([1000a60](https://github.com/JanssenProject/jans/commit/1000a60d3a4263784250960565c73d98a52f200a)) +* **jans-auth-server:** corrected npe in response type class ([941248d](https://github.com/JanssenProject/jans/commit/941248d9deed74b82453e161ffd8d5badd00546a)) +* **jans-auth-server:** corrected signature algorithm identification with java 11 and later ([3e203f2](https://github.com/JanssenProject/jans/commit/3e203f27e4b6bdb59d25cb59f823c12675c3ffd3)) +* **jans-auth-server:** corrected thread-safety bug in ApplicationAuditLogger [#803](https://github.com/JanssenProject/jans/issues/803) ([ef73c2b](https://github.com/JanssenProject/jans/commit/ef73c2b375f021f16117b1e987a3bd487596bd5b)) +* **jans-auth-server:** disabled issuing AT by refresh token if user status=inactive ([3df72a8](https://github.com/JanssenProject/jans/commit/3df72a83a59d11b2ac32aad80ec8207560f4813e)) +* **jans-auth-server:** do not serialize jwkThumbprint ([d8634fe](https://github.com/JanssenProject/jans/commit/d8634fef2aa497787b0c7e5bb37179f8259eb415)) +* **jans-auth-server:** during encryption AS must consider client's jwks too, not only jwks_uri ([475b154](https://github.com/JanssenProject/jans/commit/475b1547dc35608925b4dc07a70130b34c355d1b)) +* **jans-auth-server:** dynamic client registration managment delete event ([911e54b](https://github.com/JanssenProject/jans/commit/911e54b0858b02d97178ee6f03192d6a5919e47d)) +* **jans-auth-server:** escape login_hint before rendering ([e1a682a](https://github.com/JanssenProject/jans/commit/e1a682aadd083e3000f51fa950dc4feb83680f1c)) +* **jans-auth-server:** fixed equals/hashcode by removing redundant dn field ([d27659d](https://github.com/JanssenProject/jans/commit/d27659d99200246de68387273c308bda012f39af)) +* **jans-auth-server:** fixed server and tests after jetty 11 migration ([#1354](https://github.com/JanssenProject/jans/issues/1354)) ([3fa19f4](https://github.com/JanssenProject/jans/commit/3fa19f491b6ef810eb679ca23551abcbdf2086cb)) +* **jans-auth-server:** gluuStatus -> jansStatus ([7f86d6d](https://github.com/JanssenProject/jans/commit/7f86d6d5d7539259d279f7f5eb1ab4320617c598)) +* **jans-auth-server:** isolate regex redirection uri validation test ([#1075](https://github.com/JanssenProject/jans/issues/1075)) ([cca0551](https://github.com/JanssenProject/jans/commit/cca055127dc57f29b6bc4e913b7a2a52ad5a1a88)) +* **jans-auth-server:** removed CONFIG_API from AS supported script types [#1286](https://github.com/JanssenProject/jans/issues/1286) ([c209868](https://github.com/JanssenProject/jans/commit/c209868c4fa94caf135e5726e3caa5b4462fd38d)) +* **jans-auth-server:** removed ThumbSignInExternalAuthenticator ([a13ca51](https://github.com/JanssenProject/jans/commit/a13ca51a753bc7f779899e0c86865c1a6bdb0374)) +* **jans-auth-server:** renamed localization resoruces files [#1198](https://github.com/JanssenProject/jans/issues/1198) ([#1199](https://github.com/JanssenProject/jans/issues/1199)) ([4561f2a](https://github.com/JanssenProject/jans/commit/4561f2a7f5194aba76e9644a3eb7627badb58c76)) +* **jans-auth-server:** restored id generator call to external custom script ([#1128](https://github.com/JanssenProject/jans/issues/1128)) ([5ba98c1](https://github.com/JanssenProject/jans/commit/5ba98c13104a8559242ba7240fe8bbfe314fc0c5)) +* **jans-auth-server:** use duration class instead of custom util to calculate seconds from date to now ([#1249](https://github.com/JanssenProject/jans/issues/1249)) ([5ae76ab](https://github.com/JanssenProject/jans/commit/5ae76ab0298995e971635f63b6c83cf455b16e14)) +* **jans-auth-server:** validate redirect_uri blank and client redirect uris single item to return by default ([#1046](https://github.com/JanssenProject/jans/issues/1046)) ([aa139e4](https://github.com/JanssenProject/jans/commit/aa139e46e6d25c6135eb05e22dbc36fe84eb3e86)) +* jans-cl update WebKeysConfiguration ([#1211](https://github.com/JanssenProject/jans/issues/1211)) ([54847bc](https://github.com/JanssenProject/jans/commit/54847bce0f066ca1ca5d3e0cf01420815c30868c)) +* jans-cli allow emptying list attrbiutes by _null ([#1166](https://github.com/JanssenProject/jans/issues/1166)) ([571c5cd](https://github.com/JanssenProject/jans/commit/571c5cd38e42871dd27605f68058b5d766e1f91e)) +* jans-cli code smells ([1dc5cb0](https://github.com/JanssenProject/jans/commit/1dc5cb0d05ab3a97c9e414d80e81f0d75586f087)) +* jans-cli do not require client if access token is provided ([6b787ec](https://github.com/JanssenProject/jans/commit/6b787ec0313794ac04b81f949d5a2c5f1a5f21dc)) +* jans-cli hardcode enums ([739a759](https://github.com/JanssenProject/jans/commit/739a7595dd98751142835957e7d006c59872c89e)) +* jans-cli scope dn/id when creating client ([518f971](https://github.com/JanssenProject/jans/commit/518f97147970c3a2465f4ef7d14481b05129f346)) +* jans-cli scope dn/id when creating client ([f056abf](https://github.com/JanssenProject/jans/commit/f056abfe98c478c76fad9c6ec1d30b5287b1e208)) +* **jans-cli:** corrected typo ([#1050](https://github.com/JanssenProject/jans/issues/1050)) ([4d93a49](https://github.com/JanssenProject/jans/commit/4d93a4926e46e7d82980a187a0be49aac0df9c1c)) +* jans-client-api replace netstat with ss in startup script ([#1246](https://github.com/JanssenProject/jans/issues/1246)) ([cde3fb1](https://github.com/JanssenProject/jans/commit/cde3fb1ef1d8f33c74983b0936485e8298e155bf)) +* **jans-config-api:** corrected typo in swagger spec ([3c11556](https://github.com/JanssenProject/jans/commit/3c115566c843e42ae9827a76496145ddc6288155)) +* **jans-config-api:** LDAP test endpoint fix ([#1320](https://github.com/JanssenProject/jans/issues/1320)) ([fb0e132](https://github.com/JanssenProject/jans/commit/fb0e13251ee645862d8f02cbade5d64a2673a0b6)) +* **jans-core:** corrected ExternalUmaClaimsGatheringService ([cfe1b6d](https://github.com/JanssenProject/jans/commit/cfe1b6d0eae75a699fc0505fea46e955a3480b57)) +* jans-linux-setup --add-module ([4f6b8a9](https://github.com/JanssenProject/jans/commit/4f6b8a9d6482f89426a82596fa1cfbc1cf12159a)) +* jans-linux-setup code smell ([09bb36e](https://github.com/JanssenProject/jans/commit/09bb36ed70620238261e39689c8d843d6d0212b7)) +* jans-linux-setup code smell ([b790c01](https://github.com/JanssenProject/jans/commit/b790c0181e50b1de22114e922b7c0788e50338d0)) +* jans-linux-setup code smell ([3c57d5e](https://github.com/JanssenProject/jans/commit/3c57d5efb5e81b12b9a52b087e35fba42eb664a3)) +* jans-linux-setup code smells ([4f362e5](https://github.com/JanssenProject/jans/commit/4f362e59e50f6598195e71f03dbe863fcb82526e)) +* jans-linux-setup code smells ([824cf1f](https://github.com/JanssenProject/jans/commit/824cf1f2821f2e365e8905da21fb353de34048d4)) +* jans-linux-setup code smells ([b2a48db](https://github.com/JanssenProject/jans/commit/b2a48db9df08d5566d8b98f2debfd3ba96b48435)) +* jans-linux-setup code smells ([e930f16](https://github.com/JanssenProject/jans/commit/e930f16f34570645357dcc29d0cf9df3cb16cf4d)) +* jans-linux-setup code smells ([45953c6](https://github.com/JanssenProject/jans/commit/45953c6daa0a2abece7fc08913bffcd76a11dce0)) +* jans-linux-setup code smells ([b01da85](https://github.com/JanssenProject/jans/commit/b01da856158d2e59cc741ce6ff9283d1a549388f)) +* jans-linux-setup config-api plugin dependencies ([#1310](https://github.com/JanssenProject/jans/issues/1310)) ([b5577dd](https://github.com/JanssenProject/jans/commit/b5577ddcec55ef9a47fca30ebd897867d5601f40)) +* jans-linux-setup copy_tree ([2c2ad3a](https://github.com/JanssenProject/jans/commit/2c2ad3a100119d3c6cfb39b1454a6c9ba4e55a9a)) +* jans-linux-setup create json index for multivalued attributes ([#1131](https://github.com/JanssenProject/jans/issues/1131)) ([be9e63c](https://github.com/JanssenProject/jans/commit/be9e63c6a96b6d91672d4e6b9700625da1196be3)) +* jans-linux-setup dependency prompt-toolkit ([865647e](https://github.com/JanssenProject/jans/commit/865647eacdf3e4c9b0a26a0d3b4980fe2c3464b7)) +* jans-linux-setup maven url ([244135d](https://github.com/JanssenProject/jans/commit/244135d0af7253896ccacbdcd59034666c7ace59)) +* jans-linux-setup move mysql-timezone to config ([31df7db](https://github.com/JanssenProject/jans/commit/31df7db5d130194b3bc65fc014c92b926f828291)) +* jans-linux-setup multivalued json mapping (ref: [#1088](https://github.com/JanssenProject/jans/issues/1088)) ([#1090](https://github.com/JanssenProject/jans/issues/1090)) ([e3d9dbf](https://github.com/JanssenProject/jans/commit/e3d9dbffdab29d58d31dab004f5d392f5ada0591)) +* jans-linux-setup openbanking setup issues ([3837dd2](https://github.com/JanssenProject/jans/commit/3837dd2fd0a48de16625df368be3a3f23f5d3625)) +* jans-linux-setup set log level to TRACE for test data ([#1345](https://github.com/JanssenProject/jans/issues/1345)) ([21a2120](https://github.com/JanssenProject/jans/commit/21a21201dcbf3b3e3d8aecf878122996b09349d1)) +* jans-linux-setup typo ([#1311](https://github.com/JanssenProject/jans/issues/1311)) ([97723d5](https://github.com/JanssenProject/jans/commit/97723d588ba736bcf6e71f9a02028708c27b4fff)) +* jans-linux-setup url of config api scim plugin ([da007f0](https://github.com/JanssenProject/jans/commit/da007f074ef35d1b613dccdb4dd29e22afe98f7a)) +* jans-linux-setup-key key-regeneration fix spanner host ([#1229](https://github.com/JanssenProject/jans/issues/1229)) ([5a472ad](https://github.com/JanssenProject/jans/commit/5a472ad4f9c1e27ca361275353944043a12a5c1e)) +* **jans-linux-setup:** copy user-mgt-plugin ([#1225](https://github.com/JanssenProject/jans/issues/1225)) ([8def41a](https://github.com/JanssenProject/jans/commit/8def41a608ad611ee2981ca790d4cc64d74d23c6)) +* **jans-linux-setup:** defaults loggingLevel to INFO ([#1346](https://github.com/JanssenProject/jans/issues/1346)) ([26b1163](https://github.com/JanssenProject/jans/commit/26b116366bc640377d22ec5ac911be6b7cc009a3)) +* **jans-linux-setup:** enable mod_auth_openidc ([#1048](https://github.com/JanssenProject/jans/issues/1048)) ([40e24ea](https://github.com/JanssenProject/jans/commit/40e24eac2f8e4b1903047afe077b2508067da7b3)) +* **jans-linux-setup:** minor typo ([#1109](https://github.com/JanssenProject/jans/issues/1109)) ([32b5af5](https://github.com/JanssenProject/jans/commit/32b5af5beff24366de0e190126ee4720ae003cd9)) +* **jans-linux-setup:** rdbm index ([#1135](https://github.com/JanssenProject/jans/issues/1135)) ([ec3bd1b](https://github.com/JanssenProject/jans/commit/ec3bd1bd2eb1c97aedd8824bad4bf90282e5fe06)) +* **jans-linux-setup:** remove attributes of size 64 from sql_data_types.json ([#1112](https://github.com/JanssenProject/jans/issues/1112)) ([1726d09](https://github.com/JanssenProject/jans/commit/1726d09299bd11a3cb6c963a89770de26e043403)) +* linux-setup don't use personCustomObjectClassList for RDBMS (ref: [#1214](https://github.com/JanssenProject/jans/issues/1214)) ([#1216](https://github.com/JanssenProject/jans/issues/1216)) ([4d8dff7](https://github.com/JanssenProject/jans/commit/4d8dff7dc3957f5aa57dee1e2a3060612196c8a4)) +* Make column wider [#1044](https://github.com/JanssenProject/jans/issues/1044) ([f3e393f](https://github.com/JanssenProject/jans/commit/f3e393fe523d1edbe1ff110eaeb4caf6fdcfc61c)) +* Security Hotspot ([4e091c4](https://github.com/JanssenProject/jans/commit/4e091c4d447d298b1d3320b8f1fd45c984ef402d)) +* Security Hotspot ([1899a39](https://github.com/JanssenProject/jans/commit/1899a39ef68aaf7f535e3caf1945ef94412a8d30)) +* set permission for jans-auth.xml explicitly ([#1315](https://github.com/JanssenProject/jans/issues/1315)) ([80f33a2](https://github.com/JanssenProject/jans/commit/80f33a23902af7498fa85d2785abe1af77a1751e)) +* submit button is missing from the Properties page [#175](https://github.com/JanssenProject/jans/issues/175) ([2424965](https://github.com/JanssenProject/jans/commit/242496594af8fd5d82960747c53078149a7e1e57)) +* the admin-ui backend issues related to jetty 11 migration [#1258](https://github.com/JanssenProject/jans/issues/1258) ([cf94d5f](https://github.com/JanssenProject/jans/commit/cf94d5f56f43b523f3bfd06429992f4705a0a4ae)) +* typo and indexing error ([#1125](https://github.com/JanssenProject/jans/issues/1125)) ([dc87dc0](https://github.com/JanssenProject/jans/commit/dc87dc01c4c63d6fcc2b967ce97a52880083b95f)) +* Typo httpLoggingExludePaths jans-auth-server jans-cli jans-config-api jans-linux-setup docker-jans-persistence-loader ([47a20ee](https://github.com/JanssenProject/jans/commit/47a20eefa781d1ca07a9aa30a5adcde3793076d1)) +* typo in jans-cli interactive mode ([25f5971](https://github.com/JanssenProject/jans/commit/25f59716aa2bccb2dcdb47a34a7039a0e83d0f5f)) +* update api-admin permissions from config api yaml ([#1183](https://github.com/JanssenProject/jans/issues/1183)) ([438c896](https://github.com/JanssenProject/jans/commit/438c8967bbd925779e8ec7b84b9021de32ec409c)) +* update mysql/spanner mappings [#1053](https://github.com/JanssenProject/jans/issues/1053) ([94fb2c6](https://github.com/JanssenProject/jans/commit/94fb2c6d0f5de061eca515c003be679f35757faa)) +* update templates [#1053](https://github.com/JanssenProject/jans/issues/1053) ([2e33a43](https://github.com/JanssenProject/jans/commit/2e33a43f1d1cc029bcb96992b7bd468956d738fc)) +* Use highest level script in case ACR script is not found. Added FF to keep existing behavior. ([#1070](https://github.com/JanssenProject/jans/issues/1070)) ([07473d9](https://github.com/JanssenProject/jans/commit/07473d9a8c3e31f6a75670a874e17341518bf0be)) +* use secure http urls for maven repositories ([#1353](https://github.com/JanssenProject/jans/issues/1353)) ([496b5b2](https://github.com/JanssenProject/jans/commit/496b5b296b85e9d9c2b87dbfb93fc6f4bb6430b5)) +* use shutil instead of zipfile ([c0a0cde](https://github.com/JanssenProject/jans/commit/c0a0cde87874a73a61bcf87efdfedada1e4f4f10)) + + +### Miscellaneous Chores + +* prepare release 1.0.0-1 ([8985928](https://github.com/JanssenProject/jans/commit/89859286d69e7de7885bd9da9f50720c8371e797)) +* release 1.0.0 ([9644d1b](https://github.com/JanssenProject/jans/commit/9644d1bd29c291e57c140b0c9ac67243c322ac35)) +* release 1.0.0 ([b2895f2](https://github.com/JanssenProject/jans/commit/b2895f224b5772c0724ea0afbdf67a417a5c537c)) +* release 1.0.0-beta.16 ([a083ad6](https://github.com/JanssenProject/jans/commit/a083ad6b1d43201126e8d4f690a55ea1b109524c)) +* release 1.0.0-beta.16 ([90e4bb2](https://github.com/JanssenProject/jans/commit/90e4bb29df040bd9fe5921a054bc4226d34ca1ef)) +* release 1.0.0-beta.16 ([eec2073](https://github.com/JanssenProject/jans/commit/eec2073be9fd25544f31087e171934afb9a71e6d)) +* release 1.0.0-beta.16 ([cd92ead](https://github.com/JanssenProject/jans/commit/cd92ead2ca654383091c4923d3de5619b70fc5b9)) +* release 1.0.0-beta.16 ([7f0a91b](https://github.com/JanssenProject/jans/commit/7f0a91bd90efc1cd7a80047f9cd6b7c6a22417a2)) +* release 1.0.0-beta.16 ([c2ad604](https://github.com/JanssenProject/jans/commit/c2ad604dc29e7401bc4cb0788feaa20e11de0440)) +* release 1.0.0-beta.16 ([a641486](https://github.com/JanssenProject/jans/commit/a6414864712789d1fcf80b823338100aebda030e)) +* release 1.0.0-beta.16 ([94d5791](https://github.com/JanssenProject/jans/commit/94d5791a23fce4ecb8913c16c940cfbbc85fed4c)) +* release 1.0.0-beta.16 ([16de429](https://github.com/JanssenProject/jans/commit/16de4299bc5e9c4a842f279ae0d3ae8282a4ff2c)) +* release 1.0.0-beta.16 ([72915c0](https://github.com/JanssenProject/jans/commit/72915c0e82b9684ac1c59934d5b9a36c2456058d)) +* release 1.0.0-beta.16 ([3ea2b37](https://github.com/JanssenProject/jans/commit/3ea2b37deac3416564614fb6a4e84b056ddbed3f)) +* release 1.0.0-beta.16 ([78a6d39](https://github.com/JanssenProject/jans/commit/78a6d39ffadf9abee18c7be0e14ad3eb6ec2ef1b)) +* release 1.0.0-beta.16 ([11bfa93](https://github.com/JanssenProject/jans/commit/11bfa9368e6ee482cc44240de08c8133d91b3f4c)) +* release 1.0.0-beta.16 ([22b180b](https://github.com/JanssenProject/jans/commit/22b180bba9a08045a6daa7ca8ee2b71abd42a973)) +* release 1.0.0-beta.16 ([b9acd0b](https://github.com/JanssenProject/jans/commit/b9acd0bceeeb54e3c47f869f11d97a22e8dc161f)) +* release 1.0.0-beta.16 ([328cd30](https://github.com/JanssenProject/jans/commit/328cd309ae1655a52709e13ca2f89441c6c965a2)) +* release 1.0.0-beta.16 ([5a84602](https://github.com/JanssenProject/jans/commit/5a84602838fb5d2e667422220fcd44dc53543e23)) +* release 1.0.0-beta.16 ([4923277](https://github.com/JanssenProject/jans/commit/4923277b100b5c814d94b27b88d1809794dfc413)) +* release 1.0.0-beta.16 ([258ba96](https://github.com/JanssenProject/jans/commit/258ba962bd93eb5be4d51e7de3a80da89c2e222f)) +* release 1.0.0-beta.16 ([77c4423](https://github.com/JanssenProject/jans/commit/77c4423d82b697fd91a0e61f40bad6bd9da0dba8)) +* release 1.0.0-beta.16 ([688b324](https://github.com/JanssenProject/jans/commit/688b32407b396917695cca787c08e95fe98269a1)) + ## [1.0.0-beta.16](https://github.com/JanssenProject/jans/compare/v1.0.0-beta.15...v1.0.0-beta.16) (2022-03-14) diff --git a/README.md b/README.md index 5cfe270ab85..b222185d6d9 100644 --- a/README.md +++ b/README.md @@ -1,136 +1,163 @@ -

Janssen Project - cloud native identity and access management platform

+

Janssen Project - Open Source Digital Identity Infrastructure Software

## Welcome to the Janssen Project -Janssen enables organizations to build a scalable centralized authentication and authorization service using free open source software. The components of the project include client and server implementations of the OAuth, OpenID Connect, SCIM and FIDO standards. +[![The Linux Foundation](https://img.shields.io/badge/Member-The%20Linux%20Foundation-blue?style=flat-square)](https://www.linuxfoundation.org/press/press-release/the-janssen-project-takes-on-worlds-most-demanding-digital-trust-challenges-at-linux-foundation) +[![DPGA](https://img.shields.io/badge/DPGA-Digital%20Public%20Good-green?style=flat-square)](https://app.digitalpublicgoods.net/a/10470) -**Releases**: [Latest](https://github.com/JanssenProject/jans/releases/latest) | [All](https://github.com/JanssenProject/jans/releases) - -**Get Help**: [Discussions](https://github.com/JanssenProject/jans/discussions) | [Chat](https://gitter.im/JanssenProject/Lobby) - -**Get Started**: [Quick Start](#quick-start) | [User Guides](docs/user) - -**Contribute**: [Contribution Guide](docs/CONTRIBUTING.md) | [Community Docs](docs/community) | [Developer Guides](docs/developer) - -[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4353/badge)](https://bestpractices.coreinfrastructure.org/projects/4353) -![Hex.pm](https://img.shields.io/hexpm/l/plug) -![GitHub contributors](https://img.shields.io/github/contributors/janssenproject/jans) - -**Table of Contents** - - -- [Janssen Modules](#janssen-modules) -- [Getting Started](#getting-started) - - [Installation](#installation) -- [Users and Community](#users-and-community) -- [Contributing](#contributing) - - [Code of Conduct](#code-of-conduct) - - [Contribution Guidelines](#contribution-guidelines) -- [Security](#security) -- [Documentation](#documentation) -- [Design](#design) - - [Design Goals](#design-goals) -- [Governance](#governance) -- [Support](#support) -- [More about Janssen Project](#more-about-janssen-project) - - [History](#history) - - [why the name Janssen](#why-the-name-janssen) +Janssen is a self-funded project chartered directly under the Linux Foundation +to foster the development of enterprise digital identity and access management +infrastructure. As the lead Contributors, the [Gluu team](https://gluu.org) drives the +priorities on a day-to-day basis, governed and guided by the Janssen community +Technical Steering Commitee. +There are several Janssen Components in different stages of development, from demos +to stable releases. Janssen Project software has batteries included. You +will find binaries, cloud native deployment assets, documentation and more-- +enabling you to build a product or mission critical cybersecurity service with +Janssen software. +If your enteprise needs Janssen for a production deployment, Gluu offers a +commercial distribution of Janssen Project Components called +[Gluu Flex](https://gluu.org/flex) and [hosting](https://gluu.org/solo). -## Janssen Modules +---- -Janssen is not a big monolith--it's a lot of services working together. Whether you deploy Janssen to a Kubernetes cluster, or you are a developer running everything on one server, it's important to understand the different parts. - -1. **[auth-server](jans-auth-server)**: This component is the OAuth Authorization Server, the OpenID Connect Provider, the UMA Authorization Server--this is the main Internet facing component of Janssen. It's the service that returns tokens, JWT's and identity assertions. This service must be Internet facing. +**Releases**: [Latest](https://github.com/JanssenProject/jans/releases/latest) | [All](https://github.com/JanssenProject/jans/releases) -1. **[fido](jans-fido2)**: This component provides the server side endpoints to enroll and validate devices that use FIDO. It provides both FIDO U2F (register, authenticate) and FIDO 2 (attestation, assertion) endpoints. This service must be internet facing. +**Get Help**: [Discussions](https://github.com/JanssenProject/jans/discussions) | [Chat](https://gitter.im/JanssenProject/Lobby) -1. **[config-api](jans-config-api)**: The API to configure the auth-server and other components is consolidated in this component. This service should not be Internet-facing. +**Docs**: [Documentation](https://docs.jans.io/) -1. **[scim](jans-scim)**: [SCIM](http://www.simplecloud.info/) is JSON/REST API to manage user data. Use it to add, edit and update user information. This service should not be Internet facing. +**Contribute**: [Contribution Guide](https://docs.jans.io/head/CONTRIBUTING/) | [Community Docs](https://docs.jans.io/head/governance/charter/) | [Developer Guides](https://docs.jans.io/head/CODE_OF_CONDUCT/) -1. **[jans-cli](jans-cli)**: This module is a command line interface for configuring the Janssen software, providing both interactive and simple single line - options for configuration. +**Social**: [Linkedin](https://www.linkedin.com/company/janssen-project) -1. **[client-api](jans-client-api)**: Middleware API to help application developers call an OAuth, OpenID or UMA server. You may wonder why this is necessary. It makes it easier for client developers to use OpenID signing and encryption features, without becoming crypto experts. This API provides some high level endpoints to do some of the heavy lifting. +[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/janssen-auth-server)](https://artifacthub.io/packages/search?repo=janssen-auth-server) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4353/badge)](https://bestpractices.coreinfrastructure.org/projects/4353) +[![Hex.pm](https://img.shields.io/hexpm/l/plug)](./LICENSE) +[![GitHub contributors](https://img.shields.io/github/contributors/janssenproject/jans)](#users-and-community) +[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits&logoColor=white)](https://conventionalcommits.org) -1. **[core](jans-core)**: This library has code that is shared across several janssen projects. You will most likely need this project when you build other Janssen components. +---- -1. **[orm](jans-orm)**: This is the library for persistence and caching implemenations in Janssen. Currently LDAP and Couchbase are supported. RDBMS is coming soon. +## Janssen Components -## Getting Started +| Component | Description | Lifecycle Stage | +|:---------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------| +| **[Jans Auth Server](jans-auth-server)** | A very complete Java OAuth Authorization Server and a [certified](https://openid.net/certification/) OpenID Connect Provider. It's the upstream open-source core of [Gluu Flex](https://gluu.org/flex). | ![Graduated](https://img.shields.io/badge/Graduated-%2301ba77) | +| **[Agama](agama)** | Agama offers an interoperable way to design authentication flows, coded in a DSL purpose-built for writing identity journeys. | ![Graduated](https://img.shields.io/badge/Graduated-%2301ba77) | +| **[Jans FIDO](jans-fido2)** | Enables end-users to enroll and authenticate with passkeys and other FIDO authenticators. | ![Graduated](https://img.shields.io/badge/Graduated-%2301ba77) | +| **[Jans SCIM](jans-scim)** | [SCIM](http://www.simplecloud.info/) JSON/REST [API](https://docs.jans.io/head/admin/reference/openapi/) for user management, including associated FIDO devices. | ![Graduated](https://img.shields.io/badge/Graduated-%2301ba77) | +| **[Jans Config API](jans-config-api)** | RESTful control plane for all Janssen components. | ![Graduated](https://img.shields.io/badge/Graduated-%2301ba77) | +| **[Text UI ("TUI")](jans-cli-tui)** | Command line and interactive configuration tools to help you correctly call the Config API. | ![Graduated](https://img.shields.io/badge/Graduated-%2301ba77) | +| **[Jans Casa](jans-casa)** | Jans Casa is a self-service web portal for end-users to manage authentication and authorization preferences for their account in the Janssen Server | ![Graduated](https://img.shields.io/badge/Graduated-%2301ba77) | +| **[Jans KC](jans-keycloak-integration)** | provides an array of out of the box IAM services in a single lightweight container image. It's handy for many workforce requirements like SAML. The Janssen authenticator module (SPI) simplifies SSO across Janssen and Keycloak websites. | ![Incubating](https://img.shields.io/badge/Incubating-%23f79307) | +| **[Jans LDAP Link](jans-link)** | a group of components that provide synchronization services to update the Janssen User Store from an external authoritative LDAP data sources | ![Incubating](https://img.shields.io/badge/Incubating-%23f79307) | +| **[Jans Keycloak Link](jans-keycloak-link)** | a group of components that provide synchronization services to update the Janssen User Store from an external authoritative Keycloak data sources | ![Incubating](https://img.shields.io/badge/Incubating-%23f79307) | +| **[Jans Cedarling](jans-cedaring)** | Cedarling binding for Python and WASM. In simple terms, the Cedarling returns the answer: should the application allow this action on this resource given these JWT tokens.. | ![Incubating](https://img.shields.io/badge/Incubating-%23f79307) | +| **[Jans Lock](jans-lock)** | An enterprise authorization solution featuring the Cedarling, a stateless PDP and the Lock Server which centralizes audit logs and configuration. | ![Incubating](https://img.shields.io/badge/Incubating-%23f79307) | +| **[Jans Tarp](demos/jans-tarp)** | An OpenID Connect RP test website that runs as a browser plugin in Chrome or Firefox. | ![Incubating](https://img.shields.io/badge/Incubating-%23f79307) | +| **[Jans Chip](demos/jans-chip)** | Sample iOS and Android mobile applications that implement the full OAuth and FIDO security stack for app integrity, client constrained access tokens, and user presence. | ![Demo](https://img.shields.io/badge/Demo-%23368af7) | +| **[Jans Tent](demos/jans-tent)** | A test Relying Party ("RP") built using Python and Flask. Enables you to send different requests by quickly modifying just one configuration file. | ![Demo](https://img.shields.io/badge/Demo-%23368af7) | -### Installation +## Installation -Janssen can be installed as cloud-native in a Kubernetes cluster or as a server on a single VM. Go to the [Janssen Project Wiki](https://github.com/JanssenProject/jans/wiki/) to know all the installation options +You can install the Janssen federation stack in a Kubernetes cluster or as a +single VM. Check out the [Janssen Documentation](https://docs.jans.io/head/admin/install/) +for details. -## Users and Community +## Community -A BIG thanks to all amazing contributors!! 👏 👏 +A BIG thanks to all the amazing contributors!! 👏 👏 -There are many ways you can contribute. Of course you can contribute code. But we also need people to write documentation and guides, to help us with testing, to answer questions on the forums and chat, to review PR's, to help us with devops and CI/CD, to provide feedback on usability, and to promote the project through outreach. Also, by sharing metrics with us, we can gain valuable insights into how the software performs in the wild. +Building a diverse and inclusive community is an important goal. Please let us know what we +can do to make you feel more welcome, no matter what you want to contribute. -Building a large community is our number one goal. Please let us know what we can do to make you feel more welcome, no matter what you want to contribute. +There are many ways you can contribute. Join this amazing team! -## Contributing - -### Code of Conduct - -[Janssen code of conduct](docs/CODE_OF_CONDUCT.md) ensures that Janssen community is a welcoming place for everyone. - -### Contribution Guidelines - -[Contribution guide](docs/CONTRIBUTING.md) will give you all necessary information and `howto` to get started. Janssen community welcomes all types of contributions. Be it an interesting comment on an open issue or implementing a feature. Welcome aboard! ✈ī¸ - -## Security - -### Disclosing vulnerabilities -If you think you found a security vulnerability, please refrain from posting it publicly on the forums, the chat, or GitHub. Instead, send us an email on security@jans.io. - -Refer to [Janssen Security Policy](.github/SECURITY.md) - -## Documentation - -Refer to [Janssen Wiki](https://github.com/JanssenProject/jans/wiki) for documentation. - -## Design - -### Design Goals - -The Janssen Project is aligned with the goals of cloud native infrastructure to enable: - -1. High Concurrency: For digital identity infrastructure, the number of users is not necessarily related to performance. If you have a billion users who never login, you can do this with a monolithic platform. Concurrency is hard. Janssen is designed to scale horizontally--enabling hypothetically any concurrency by adding more compute and memory. - -2. Highly Available: Digital identity infrastructure is mission critical. For many applications, if you can't login, you're dead in the water. Robustness is a fundamental consideration. - -3. Flexible while Upgradable: Open source gives you the freedom to modify the code. But having your own fork of the code might make it hard to upgrade--you'll have to merge changes. Janssen provides standard interfaces that make it possible to implement custom business logic in an upgrade-friendly manner. - -## Governance - -Janssen is a Linux Foundation project, governed according to the [charter](./docs/community/charter.md). Technical oversight of the project is the responsibility of the Technical Steering Committee ("TSC"). Day to day decision making is in the hands of the Contributors. The TSC helps to guide the direction of the project and to improve the quality and security of the development process. - -## Support - -Documentation currently is a work in progress. Draft pages are currently available on [Janssen Project Wiki](https://github.com/JanssenProject/jans/wiki/). You may want to also check Gluu Server [docs](https://gluu.org/docs), which have a lot in common with Janssen. - -We prefer to have all our discussions through [GitHub Discussions](https://github.com/JanssenProject/jans/discussion) to better facilitate faster responses. However, other means are available such as the [community chat on Gitter](https://gitter.im/JanssenProject/Lobby). You can register for free there with your Github identity. - -If you find a bug in a Janssen project, or you would like to suggest a new feature, try the [GitHub Discussions](https://github.com/JanssenProject/jans/discussion) first. If you have a "howto" or "usage" question, [raise the question or usage](https://github.com/JanssenProject/jans/discussion)! - -## More about Janssen Project - -### History - -The initial code was ported by [Gluu](https://gluu.org), based on version 4.2 of it's identity and access management (IAM) platform. Gluu launched in 2009 with the goal of creating an enterprise-grade open source distribution of IAM components. In 2012, Gluu started work on an OAuth Authorization Server to implement OpenID Connect, which they saw as a promising next-generation replacement for SAML. This project was called [oxAuth](https://github.com/GluuFederation/oxauth), and over time, became the core component of the Gluu Server. Gluu has submitted many [self-certifications](https://openid.net/certification/) at the OpenID Foundation. Today, it is one of the most comprehensive OpenID Connect Providers. - -In 2020, Gluu decided to democratize the governance of the oxAuth project by moving it to the Linux Foundation. The name of the project was changed from oxAuth to Janssen, to avoid any potential trademark issues. Gluu felt that a collaboration with the Linux Foundation would help to build a larger ecosystem. +### Code of Conduct / Contribution Guidelines / Security + +* [Janssen code of conduct](https://docs.jans.io/head/CODE_OF_CONDUCT/) ensures +that the Janssen community is a welcoming place for everyone. + +* Start with the [Contribution Guide](https://docs.jans.io/head/CONTRIBUTING/) +for an introduction on the Janssen development lifecycle. + +* If you think you found a security vulnerability, please refrain from posting +it publicly on the forums, the chat, or GitHub. Instead, email us at +`security@jans.io`. Refer to [Janssen Security Policy](.github/SECURITY.md) + +### Governance + +Janssen is a self-funded Linux Foundation project, governed according to the +[charter](https://docs.jans.io/head/governance/charter/). Technical oversight +of the project is the responsibility of the Technical Steering Committee ("TSC"). +Day-to-day decision-making is in the hands of the Contributors. The TSC helps to +guide the direction of the project and to improve the quality and security of +the development process. + +### Support + +If you find a bug in the Janssen project, would like to suggest a new feature, or +have a "howto" question, please post on +[GitHub Discussions](https://github.com/JanssenProject/jans/discussions), which +is the main channel for community support. There is also a +[community chat on Gitter](https://app.gitter.im/#/room/#JanssenProject_Lobby:gitter.im). + +### Releases + +Below is the list of current mega releases that hold information about every single release of our services and modules: +- [v1.1.4](https://github.com/JanssenProject/jans/releases/tag/v1.1.4) +- [v1.1.3](https://github.com/JanssenProject/jans/releases/tag/v1.1.3) +- [v1.1.2](https://github.com/JanssenProject/jans/releases/tag/v1.1.2) +- [v1.1.1](https://github.com/JanssenProject/jans/releases/tag/v1.1.1) +- [v1.1.0](https://github.com/JanssenProject/jans/releases/tag/v1.1.0) +- [v1.0.22](https://github.com/JanssenProject/jans/releases/tag/v1.0.22) +- [v1.0.21](https://github.com/JanssenProject/jans/releases/tag/v1.0.21) +- [v1.0.20](https://github.com/JanssenProject/jans/releases/tag/v1.0.20) +- [v1.0.19](https://github.com/JanssenProject/jans/releases/tag/v1.0.19) +- [v1.0.18](https://github.com/JanssenProject/jans/releases/tag/v1.0.18) +- [v1.0.17](https://github.com/JanssenProject/jans/releases/tag/v1.0.17) +- [v1.0.16](https://github.com/JanssenProject/jans/releases/tag/v1.0.16) +- [v1.0.15](https://github.com/JanssenProject/jans/releases/tag/v1.0.15) +- [v1.0.14](https://github.com/JanssenProject/jans/releases/tag/v1.0.14) +- [v1.0.13](https://github.com/JanssenProject/jans/releases/tag/v1.0.13) +- [v1.0.12](https://github.com/JanssenProject/jans/releases/tag/v1.0.12) +- [v1.0.11](https://github.com/JanssenProject/jans/releases/tag/v1.0.11) +- [v1.0.10](https://github.com/JanssenProject/jans/releases/tag/v1.0.10) +- [v1.0.9](https://github.com/JanssenProject/jans/releases/tag/v1.0.9) +- [v1.0.8](https://github.com/JanssenProject/jans/releases/tag/v1.0.8) +- [v1.0.7](https://github.com/JanssenProject/jans/releases/tag/v1.0.7) +- [v1.0.6](https://github.com/JanssenProject/jans/releases/tag/v1.0.6) +- [v1.0.5](https://github.com/JanssenProject/jans/releases/tag/v1.0.5) +- [v1.0.4](https://github.com/JanssenProject/jans/releases/tag/v1.0.4) +- [v1.0.3](https://github.com/JanssenProject/jans/releases/tag/v1.0.3) +- [v1.0.2](https://github.com/JanssenProject/jans/releases/tag/v1.0.2) +- [v1.0.1](https://github.com/JanssenProject/jans/releases/tag/v1.0.1) +- [v1.0.0](https://github.com/JanssenProject/jans/releases/tag/v1.0.0) +- [v1.0.0-beta.16](https://github.com/JanssenProject/jans/releases/tag/v1.0.0-beta.16) +- [v1.0.0-beta.15](https://github.com/JanssenProject/jans/releases/tag/v1.0.0-beta.15) + +### Janssen History + +In 2020, [Gluu](https://gluu.org) decided to give contributors a role in the +governance and collaborated with the Linux Foundation to charter the Janssen +Project. The initial software contribution for the Janssen Project was a fork of +the Gluu Server version 4. Subsequently, the Janssen Project developers added a new +configuration control plane, tools, demos, documentation, packaging and +deployment assets. ### Why the name Janssen? -Pigeons (or doves if you like...) are universally regarded as a symbol of peace. But they are also fast. Powered by a handful of seeds, a well trained racing pigeon can fly 1000 kilometers in a day. The Janssen brothers of Arendonk in Belgium bred the world's fastest family of racing pigeons. Complex open source infrastructure, like competitive animal husbandry, requires incremental improvement. Janssen racing pigeons revolutionized the sport. The Janssen Project seeks to revolutionize identity and access management. - +Pigeons (or doves...) are universally regarded as a symbol of peace--which +we need more of today. But pigeons are also really fast, +capable of flying 1000 kilometers in a single day, powered by +a handful of seeds. The **Janssen brothers of Arendonk** in Belgium bred the +world's fastest family of racing pigeons. Janssen racing pigeons revolutionized +the sport. The Janssen Project seeks to revolutionize how open-source +digital identity scales in the clouds. diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 1d339cc278d..00000000000 --- a/_config.yml +++ /dev/null @@ -1,15 +0,0 @@ -title: 'Janssen Authorization Server' -remote_theme: benc-uk/theme-msdark -favicon: https://avatars.githubusercontent.com/u/68292770?s=200&v=4 -buttons: - - b0: - text: Main Docs - href: /jans/docs - - b1: - text: Helm Chart - href: /jans/charts - - b2: - text: Debugging Interception scripts - href: /jans/docs/interception-script-debug -gems: - - jekyll-seo-tag \ No newline at end of file diff --git a/agama/.gitignore b/agama/.gitignore new file mode 100644 index 00000000000..92e4596b0a6 --- /dev/null +++ b/agama/.gitignore @@ -0,0 +1,35 @@ +# Eclipse +.project +.classpath +.settings/ +bin/ + +# IntelliJ +.idea +*.ipr +*.iml +*.iws + +# NetBeans +nb-configuration.xml + +# Visual Studio Code +.vscode + +# OSX +.DS_Store + +# Vim +*.swp +*.swo + +# patch +*.orig +*.rej + +# Maven +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +release.properties diff --git a/agama/CHANGELOG.md b/agama/CHANGELOG.md new file mode 100644 index 00000000000..331fe4f2548 --- /dev/null +++ b/agama/CHANGELOG.md @@ -0,0 +1,264 @@ +# Changelog + +## [1.0.21](https://github.com/JanssenProject/jans/compare/agama-v1.0.20...agama-v1.0.21) (2023-12-14) + + +### Features + +* **agama:** use a mixed strategy for serialization ([#6883](https://github.com/JanssenProject/jans/issues/6883)) ([00aee0c](https://github.com/JanssenProject/jans/commit/00aee0c26565e8b0b574370610a75139c2155568)) + + +### Bug Fixes + +* prepare for 1.0.21 release ([#7008](https://github.com/JanssenProject/jans/issues/7008)) ([2132de6](https://github.com/JanssenProject/jans/commit/2132de6683f67bf22d5a863b149770d657073a83)) +* serialization of undesired content when a flow crashes ([#6609](https://github.com/JanssenProject/jans/issues/6609)) ([93fdc02](https://github.com/JanssenProject/jans/commit/93fdc0214755a9b70582bdd55caddc07a302f508)) + +## [1.0.20](https://github.com/JanssenProject/jans/compare/agama-v1.0.19...agama-v1.0.20) (2023-11-08) + + +### Bug Fixes + +* prepare for 1.0.20 release ([c6e806e](https://github.com/JanssenProject/jans/commit/c6e806eb31fed998d52cbef7a7d94c231d913102)) + +## [1.0.19](https://github.com/JanssenProject/jans/compare/agama-v1.0.18...agama-v1.0.19) (2023-10-11) + + +### Bug Fixes + +* prepare for 1.0.19 release ([554fd43](https://github.com/JanssenProject/jans/commit/554fd434f624c4b4be3b2031c472177709da8966)) + +## [1.0.18](https://github.com/JanssenProject/jans/compare/agama-v1.0.17...agama-v1.0.18) (2023-09-23) + + +### Bug Fixes + +* prepare for 1.0.18 release ([87af7e4](https://github.com/JanssenProject/jans/commit/87af7e4d41728ce2966362883b47e5354f8c3803)) + +## [1.0.17](https://github.com/JanssenProject/jans/compare/agama-v1.0.16...agama-v1.0.17) (2023-09-17) + + +### Bug Fixes + +* prepare for 1.0.17 release ([4ba8c15](https://github.com/JanssenProject/jans/commit/4ba8c151734f02d762e902b46a35cae2d498fa8f)) + +## [1.0.16](https://github.com/JanssenProject/jans/compare/agama-v1.0.15...agama-v1.0.16) (2023-08-02) + + +### Bug Fixes + +* prepare for 1.0.16 release ([042ce79](https://github.com/JanssenProject/jans/commit/042ce7941b9597fade8d5f10e40a89d9e7662315)) +* prepare for 1.0.16 release ([b2649c3](https://github.com/JanssenProject/jans/commit/b2649c33a9857f356f91df2f38787ec56269e6dd)) + +## [1.0.15](https://github.com/JanssenProject/jans/compare/agama-v1.0.14...agama-v1.0.15) (2023-07-12) + + +### Features + +* add a prefix to Log statements [#5201](https://github.com/JanssenProject/jans/issues/5201) ([#5475](https://github.com/JanssenProject/jans/issues/5475)) ([ccb3f05](https://github.com/JanssenProject/jans/commit/ccb3f056f29d7262cad31ebb545f814f086fdf83)) + + +### Bug Fixes + +* prepare for 1.0.15 release ([0e3cc2f](https://github.com/JanssenProject/jans/commit/0e3cc2f5ea287c2c35f45def54f074daa473ec49)) + +## [1.0.14](https://github.com/JanssenProject/jans/compare/agama-v1.0.13...agama-v1.0.14) (2023-06-12) + + +### Bug Fixes + +* prepare for 1.0.14 release ([25ccadf](https://github.com/JanssenProject/jans/commit/25ccadf85327ea14685c6066dc6609919e4f2865)) + +## [1.0.13](https://github.com/JanssenProject/jans/compare/agama-v1.0.12...agama-v1.0.13) (2023-05-10) + + +### Bug Fixes + +* prepare for 1.0.13 release ([493478e](https://github.com/JanssenProject/jans/commit/493478e71f6231553c998b48c0f163c7f5869da4)) + +## [1.0.12](https://github.com/JanssenProject/jans/compare/agama-v1.0.11...agama-v1.0.12) (2023-04-18) + + +### Bug Fixes + +* prepare for 1.0.12 release ([6f83197](https://github.com/JanssenProject/jans/commit/6f83197705511c39413456acdc64e9136a97ff39)) + +## [1.0.11](https://github.com/JanssenProject/jans/compare/agama-v1.0.10...agama-v1.0.11) (2023-04-05) + + +### Features + +* **agama:** add means to selectively prevent flow crash when a subflow crashes ([#4436](https://github.com/JanssenProject/jans/issues/4436)) ([5d8f0ad](https://github.com/JanssenProject/jans/commit/5d8f0ad2d74f7d39a5eb4b79e807f175393959b5)) + + +### Bug Fixes + +* prepare for release ([60775c0](https://github.com/JanssenProject/jans/commit/60775c09dc5ab9996bf80c03dcb457861d48dfb1)) + +## [1.0.10](https://github.com/JanssenProject/jans/compare/agama-v1.0.9...agama-v1.0.10) (2023-03-16) + + +### Bug Fixes + +* prepare release for 1.0.10 ([e996926](https://github.com/JanssenProject/jans/commit/e99692692ef04d881468d120f7c7d462568dce36)) + +## [1.0.9](https://github.com/JanssenProject/jans/compare/agama-v1.0.7...agama-v1.0.9) (2023-03-09) + + +### Bug Fixes + +* prepare 1.0.9 release ([e6ea522](https://github.com/JanssenProject/jans/commit/e6ea52220824bd6b5d2dca0539d9d515dbeda362)) +* prepare 1.0.9 release ([55f7e0c](https://github.com/JanssenProject/jans/commit/55f7e0c308b869c2c4b5668aca751d022138a678)) +* update next SNAPSHOT and dev ([0df0e7a](https://github.com/JanssenProject/jans/commit/0df0e7ae06af64ac477955119c2522f03e0603c3)) + +## 1.0.7 (2023-02-22) + + +### Bug Fixes + +* add 'java' to the list of restricted variable names [#3533](https://github.com/JanssenProject/jans/issues/3533) ([#3534](https://github.com/JanssenProject/jans/issues/3534)) ([a970d88](https://github.com/JanssenProject/jans/commit/a970d88d81f920973f3ba812db97448f135090a9)) +* **agama:** fix agama auth dependency which blocks build process [#3149](https://github.com/JanssenProject/jans/issues/3149) ([#3244](https://github.com/JanssenProject/jans/issues/3244)) ([8f9fee3](https://github.com/JanssenProject/jans/commit/8f9fee31c66ce08046258694e5e2d83a31e38b5d)) +* prepare 1.0.7 release ([ce02fd9](https://github.com/JanssenProject/jans/commit/ce02fd9322ab49d5bea4f6e88f316f931e9d2169)) +* prepare for 1.0.6 release ([9e4c8fb](https://github.com/JanssenProject/jans/commit/9e4c8fb4c0a1ef4779934558e8d8d40d8fedbabf)) + +## 1.0.6 (2023-01-09) + + +### Bug Fixes + +* add 'java' to the list of restricted variable names [#3533](https://github.com/JanssenProject/jans/issues/3533) ([#3534](https://github.com/JanssenProject/jans/issues/3534)) ([a970d88](https://github.com/JanssenProject/jans/commit/a970d88d81f920973f3ba812db97448f135090a9)) +* **agama:** fix agama auth dependency which blocks build process [#3149](https://github.com/JanssenProject/jans/issues/3149) ([#3244](https://github.com/JanssenProject/jans/issues/3244)) ([8f9fee3](https://github.com/JanssenProject/jans/commit/8f9fee31c66ce08046258694e5e2d83a31e38b5d)) +* avoid NPE when configuration is missing [#2857](https://github.com/JanssenProject/jans/issues/2857) ([#2863](https://github.com/JanssenProject/jans/issues/2863)) ([4a27091](https://github.com/JanssenProject/jans/commit/4a2709185bd7ba84c3230cb94d4efea940681742)) +* ensure non-empty array is generated [#2672](https://github.com/JanssenProject/jans/issues/2672) ([#3047](https://github.com/JanssenProject/jans/issues/3047)) ([47902bd](https://github.com/JanssenProject/jans/commit/47902bd8a5c7fe60cbac6f819787ee90726ac4a0)) +* prepare for 1.0.6 release ([9e4c8fb](https://github.com/JanssenProject/jans/commit/9e4c8fb4c0a1ef4779934558e8d8d40d8fedbabf)) + +## [1.0.4](https://github.com/JanssenProject/jans/compare/agama-v1.0.3...agama-v1.0.4) (2022-11-08) + + +### Bug Fixes + +* avoid NPE when configuration is missing [#2857](https://github.com/JanssenProject/jans/issues/2857) ([#2863](https://github.com/JanssenProject/jans/issues/2863)) ([4a27091](https://github.com/JanssenProject/jans/commit/4a2709185bd7ba84c3230cb94d4efea940681742)) + +## 1.0.3 (2022-11-01) + + +### Features + +* **agama:** add utility classes for inbound identity ([#2204](https://github.com/JanssenProject/jans/issues/2204)) ([29f58ee](https://github.com/JanssenProject/jans/commit/29f58ee0e6c84b4af5493cabcb19167bc7ffbe40)) +* **agama:** add utility classes for inbound identity ([#2231](https://github.com/JanssenProject/jans/issues/2231)) ([96e32a4](https://github.com/JanssenProject/jans/commit/96e32a407ec6c545b73a6fd103ed2ae5876bd500)) +* **agama:** add utility classes for inbound identity ([#2280](https://github.com/JanssenProject/jans/issues/2280)) ([ca6fdc9](https://github.com/JanssenProject/jans/commit/ca6fdc90256e4ef103bf50dc27cb694c940ba70b)) +* **agama:** add utility classes for inbound identity ([#2417](https://github.com/JanssenProject/jans/issues/2417)) ([2878bdd](https://github.com/JanssenProject/jans/commit/2878bdd737b4bd7f8f080113826a4bc4bf49ffba)) +* **jans-config-api:** agama flow endpoint ([#1898](https://github.com/JanssenProject/jans/issues/1898)) ([0e73306](https://github.com/JanssenProject/jans/commit/0e73306f7642a74a3ed2cf8a8687a1ea447aa7bd)) + + +### Bug Fixes + +* jans-config-api/plugins/sample/helloworld/pom.xml to reduce vulnerabilities ([#972](https://github.com/JanssenProject/jans/issues/972)) ([e2ae05e](https://github.com/JanssenProject/jans/commit/e2ae05e5515dd85a95c0a8520de57f673aba7918)) +* jans-eleven/pom.xml to reduce vulnerabilities ([#2676](https://github.com/JanssenProject/jans/issues/2676)) ([d27a7f9](https://github.com/JanssenProject/jans/commit/d27a7f99f22cb8f4bd445a3400224a38cb91eedc)) + + +### Documentation + +* add instructions to setup inbound identity flows [#2198](https://github.com/JanssenProject/jans/issues/2198) ([#2222](https://github.com/JanssenProject/jans/issues/2222)) ([d959b32](https://github.com/JanssenProject/jans/commit/d959b32cc9de0b8311d13ce25fcba162d0b0c5a3)) + + +### Miscellaneous Chores + +* release 1.0.2 ([43dead6](https://github.com/JanssenProject/jans/commit/43dead615f3508ca393c330c2db27a8fb9d1017a)) + +## 1.0.2 (2022-08-30) + + +### Features + +* **agama:** add utility classes for inbound identity ([#2204](https://github.com/JanssenProject/jans/issues/2204)) ([29f58ee](https://github.com/JanssenProject/jans/commit/29f58ee0e6c84b4af5493cabcb19167bc7ffbe40)) +* **agama:** add utility classes for inbound identity ([#2231](https://github.com/JanssenProject/jans/issues/2231)) ([96e32a4](https://github.com/JanssenProject/jans/commit/96e32a407ec6c545b73a6fd103ed2ae5876bd500)) +* **agama:** allow the config-api to perform syntax check of flows ([#1621](https://github.com/JanssenProject/jans/issues/1621)) ([2e99d3a](https://github.com/JanssenProject/jans/commit/2e99d3a9bec389f68086c606062280967ce338ce)) +* **agama:** reject usage of repeated input names ([#1484](https://github.com/JanssenProject/jans/issues/1484)) ([aed8cf3](https://github.com/JanssenProject/jans/commit/aed8cf33d89b98f0ac6aae52e145a84a0937d60e)) +* **jans-config-api:** agama flow endpoint ([#1898](https://github.com/JanssenProject/jans/issues/1898)) ([0e73306](https://github.com/JanssenProject/jans/commit/0e73306f7642a74a3ed2cf8a8687a1ea447aa7bd)) +* update DSL to support shorthand for finish [#1628](https://github.com/JanssenProject/jans/issues/1628) ([71e4652](https://github.com/JanssenProject/jans/commit/71e46524492d48fccf2ed2840ede3d6ae525a3e3)) + + +### Bug Fixes + +* **agama:** template overriding not working with more than one level of nesting ([#1841](https://github.com/JanssenProject/jans/issues/1841)) ([723922a](https://github.com/JanssenProject/jans/commit/723922a17b1babc49a1135030c06db367726ab63)) + + +### Documentation + +* add email-otp flow and organize sample flow folders [#1749](https://github.com/JanssenProject/jans/issues/1749) ([#1800](https://github.com/JanssenProject/jans/issues/1800)) ([8aea2ee](https://github.com/JanssenProject/jans/commit/8aea2eeaab8d99724d48a817ff47495b5f7632d7)) +* add instructions to setup inbound identity flows [#2198](https://github.com/JanssenProject/jans/issues/2198) ([#2222](https://github.com/JanssenProject/jans/issues/2222)) ([d959b32](https://github.com/JanssenProject/jans/commit/d959b32cc9de0b8311d13ce25fcba162d0b0c5a3)) +* **agama:** add sample flows to docs ([#1750](https://github.com/JanssenProject/jans/issues/1750)) ([7d33490](https://github.com/JanssenProject/jans/commit/7d334905a147746556f984015215b7c9f5b937ef)) +* update docs wrt to language updates [#1628](https://github.com/JanssenProject/jans/issues/1628) ([ca32bd5](https://github.com/JanssenProject/jans/commit/ca32bd54ec109134dad04d4a0f15eebc6d7bdd8e)) + + +### Miscellaneous Chores + +* release 1.0.1 ([828bfe8](https://github.com/JanssenProject/jans/commit/828bfe80cee87e639839391f98ac3dc2f2d4a920)) +* release 1.0.2 ([43dead6](https://github.com/JanssenProject/jans/commit/43dead615f3508ca393c330c2db27a8fb9d1017a)) + +## [1.0.1](https://github.com/JanssenProject/jans/compare/agama-v1.0.0...agama-v1.0.1) (2022-07-06) + + +### Features + +* **agama:** allow the config-api to perform syntax check of flows ([#1621](https://github.com/JanssenProject/jans/issues/1621)) ([2e99d3a](https://github.com/JanssenProject/jans/commit/2e99d3a9bec389f68086c606062280967ce338ce)) +* **agama:** improve flows timeout ([#1447](https://github.com/JanssenProject/jans/issues/1447)) ([ccfb62e](https://github.com/JanssenProject/jans/commit/ccfb62ec13d371c96a0d597d5a0229864f044373)) +* **agama:** reject usage of repeated input names ([#1484](https://github.com/JanssenProject/jans/issues/1484)) ([aed8cf3](https://github.com/JanssenProject/jans/commit/aed8cf33d89b98f0ac6aae52e145a84a0937d60e)) +* update DSL to support shorthand for finish [#1628](https://github.com/JanssenProject/jans/issues/1628) ([71e4652](https://github.com/JanssenProject/jans/commit/71e46524492d48fccf2ed2840ede3d6ae525a3e3)) + + +### Bug Fixes + +* **agama:** adjust pom version [#1402](https://github.com/JanssenProject/jans/issues/1402) ([#1403](https://github.com/JanssenProject/jans/issues/1403)) ([930f080](https://github.com/JanssenProject/jans/commit/930f0801177d516d6bfa9c536d590556144cbd61)) +* **agama:** adjust pom version [#1402](https://github.com/JanssenProject/jans/issues/1402) ([#1404](https://github.com/JanssenProject/jans/issues/1404)) ([86bf614](https://github.com/JanssenProject/jans/commit/86bf61420bf6b8d236b8200835a2ff05f430308b)) +* update pom [#1438](https://github.com/JanssenProject/jans/issues/1438) ([#1439](https://github.com/JanssenProject/jans/issues/1439)) ([66b9962](https://github.com/JanssenProject/jans/commit/66b996286a2285986845677ea039f177f756d962)) + + +### Documentation + +* update docs wrt to language updates [#1628](https://github.com/JanssenProject/jans/issues/1628) ([ca32bd5](https://github.com/JanssenProject/jans/commit/ca32bd54ec109134dad04d4a0f15eebc6d7bdd8e)) + + +### Miscellaneous Chores + +* release 1.0.0 ([3df6f77](https://github.com/JanssenProject/jans/commit/3df6f7721a8e9d57e28d065ee29153d023dfe9ea)) +* release 1.0.0 ([9644d1b](https://github.com/JanssenProject/jans/commit/9644d1bd29c291e57c140b0c9ac67243c322ac35)) +* release 1.0.1 ([828bfe8](https://github.com/JanssenProject/jans/commit/828bfe80cee87e639839391f98ac3dc2f2d4a920)) + +## 1.0.0 (2022-05-19) + + +### Features + +* add schema updates [#1390](https://github.com/JanssenProject/jans/issues/1390) ([c9023b3](https://github.com/JanssenProject/jans/commit/c9023b3435fbc8079aabe5c70de3177ec9112308)) +* allow flows to access their metadata properties [#1340](https://github.com/JanssenProject/jans/issues/1340) ([344ba04](https://github.com/JanssenProject/jans/commit/344ba0448c73e3c56e05f529eea5009b2157c1fc)) +* initial agama commit [#1322](https://github.com/JanssenProject/jans/issues/1322) ([#1323](https://github.com/JanssenProject/jans/issues/1323)) ([0148bc8](https://github.com/JanssenProject/jans/commit/0148bc8a32a005e47ba9d090e895282775148a95)) +* **jans-config-api:** user custom attributes at root level - 1348 ([5b3f0a1](https://github.com/JanssenProject/jans/commit/5b3f0a13e25cd842e0bbd4be3d21eb48ab1d108f)) + + +### Miscellaneous Chores + +* release 1.0.0 ([b2895f2](https://github.com/JanssenProject/jans/commit/b2895f224b5772c0724ea0afbdf67a417a5c537c)) +* release 1.0.0-beta.16 ([90e4bb2](https://github.com/JanssenProject/jans/commit/90e4bb29df040bd9fe5921a054bc4226d34ca1ef)) +* release 1.0.0-beta.16 ([eec2073](https://github.com/JanssenProject/jans/commit/eec2073be9fd25544f31087e171934afb9a71e6d)) +* release 1.0.0-beta.16 ([cd92ead](https://github.com/JanssenProject/jans/commit/cd92ead2ca654383091c4923d3de5619b70fc5b9)) +* release 1.0.0-beta.16 ([7f0a91b](https://github.com/JanssenProject/jans/commit/7f0a91bd90efc1cd7a80047f9cd6b7c6a22417a2)) +* release 1.0.0-beta.16 ([c2ad604](https://github.com/JanssenProject/jans/commit/c2ad604dc29e7401bc4cb0788feaa20e11de0440)) +* release 1.0.0-beta.16 ([a641486](https://github.com/JanssenProject/jans/commit/a6414864712789d1fcf80b823338100aebda030e)) +* release 1.0.0-beta.16 ([94d5791](https://github.com/JanssenProject/jans/commit/94d5791a23fce4ecb8913c16c940cfbbc85fed4c)) +* release 1.0.0-beta.16 ([16de429](https://github.com/JanssenProject/jans/commit/16de4299bc5e9c4a842f279ae0d3ae8282a4ff2c)) +* release 1.0.0-beta.16 ([72915c0](https://github.com/JanssenProject/jans/commit/72915c0e82b9684ac1c59934d5b9a36c2456058d)) +* release 1.0.0-beta.16 ([3ea2b37](https://github.com/JanssenProject/jans/commit/3ea2b37deac3416564614fb6a4e84b056ddbed3f)) +* release 1.0.0-beta.16 ([78a6d39](https://github.com/JanssenProject/jans/commit/78a6d39ffadf9abee18c7be0e14ad3eb6ec2ef1b)) +* release 1.0.0-beta.16 ([11bfa93](https://github.com/JanssenProject/jans/commit/11bfa9368e6ee482cc44240de08c8133d91b3f4c)) +* release 1.0.0-beta.16 ([22b180b](https://github.com/JanssenProject/jans/commit/22b180bba9a08045a6daa7ca8ee2b71abd42a973)) +* release 1.0.0-beta.16 ([b9acd0b](https://github.com/JanssenProject/jans/commit/b9acd0bceeeb54e3c47f869f11d97a22e8dc161f)) +* release 1.0.0-beta.16 ([328cd30](https://github.com/JanssenProject/jans/commit/328cd309ae1655a52709e13ca2f89441c6c965a2)) +* release 1.0.0-beta.16 ([5a84602](https://github.com/JanssenProject/jans/commit/5a84602838fb5d2e667422220fcd44dc53543e23)) +* release 1.0.0-beta.16 ([4923277](https://github.com/JanssenProject/jans/commit/4923277b100b5c814d94b27b88d1809794dfc413)) +* release 1.0.0-beta.16 ([258ba96](https://github.com/JanssenProject/jans/commit/258ba962bd93eb5be4d51e7de3a80da89c2e222f)) +* release 1.0.0-beta.16 ([77c4423](https://github.com/JanssenProject/jans/commit/77c4423d82b697fd91a0e61f40bad6bd9da0dba8)) +* release 1.0.0-beta.16 ([688b324](https://github.com/JanssenProject/jans/commit/688b32407b396917695cca787c08e95fe98269a1)) +* release 1.0.0-beta.16 ([4e86f15](https://github.com/JanssenProject/jans/commit/4e86f15fc39ec89d4790ebfaa7d30e7053fef606)) +* release 1.0.0-beta.16 ([8d514ee](https://github.com/JanssenProject/jans/commit/8d514ee63d840627321de2d89e816577dd919914)) +* release 1.0.0-beta.16 ([0899898](https://github.com/JanssenProject/jans/commit/0899898e80ba9b7e6a915574737bdf0756b59a14)) diff --git a/agama/README.md b/agama/README.md new file mode 100644 index 00000000000..9d007ad0e7f --- /dev/null +++ b/agama/README.md @@ -0,0 +1,13 @@ +# Agama + +Agama is an auth-server component that offers an alternative way to build authentication flows in Janssen server. +Originally, person authentication flows are defined in the server by means of jython scripts that adhere to a predefined API. With Agama, flows are coded in a DSL (domain specific language) designed for the sole purpose of writing web flows. + +Some advantages of using Agama include: + +1. Ability to express authentication flows in a clean and concise way +2. Flow composition is supported out-of-the-box: reuse of an existing flow in another requires no effort +3. Reasoning about flows behavior is easy (as consequence of points 1 and 2). This makes flow modifications and refactoring straightforward +4. Small cognitive load. Agama DSL is a very small language with simple, non-distracting syntax +5. Friendly UI templating engine. No complexities when authoring web pages - stay focused on writing HTML markup + diff --git a/agama/misc/crash.ftlh b/agama/misc/crash.ftlh new file mode 100644 index 00000000000..dc4b60324cd --- /dev/null +++ b/agama/misc/crash.ftlh @@ -0,0 +1,10 @@ +<#import "template.ftlh" as main> +<@main.root> + +

An unexpected error ocurred:

+ +

${message!""} + +

Try again later + + diff --git a/agama/misc/finished.ftlh b/agama/misc/finished.ftlh new file mode 100644 index 00000000000..4781071b084 --- /dev/null +++ b/agama/misc/finished.ftlh @@ -0,0 +1,33 @@ +<#import "template.ftlh" as main> + +<@main.root pageTitle=success?then("Redirecting you...", "There was an error :(")> + <#if success> + +

Almost done!

+ +

Redirecting you... + +

+