Skip to content

Commit

Permalink
Rebase RFC72 (#10337)
Browse files Browse the repository at this point in the history
* fix #9461 - mutations api endpoint
- modified java files to remove unused properties and changes to tests
- db changes, mutationmapper.xml
- Update seed_mini.sql

roll back changes for refseqMrnaId

roll back changes for refseqMrnaId

Update ExtendedMutation.java

Added required property setOncotatorRefseqMrnaId and getOncotatorRefseqMrnaId

* Updated more files for removed fields

Updated more files for removed fields

Remove unused oncotator fields

Remove unused oncotator fields
ONCOTATOR_DBSNP_RS
ONCOTATOR_UNIPROT_ENTRY_NAME

remove fields from sql file

ONCOTATOR_DBSNP_RS and ONCOTATOR_UNIPROT_ENTRY_NAME removal from sql file

* db changes and renaming the column prefixes from oncotator to mutation

db changes in sql for renaming columns
renamed the column prefixes from oncotator to mutation on multiple classes and files

* Update SQL statements

Update testSql.sql

updating testSql for the name change of columns from ONCOTATOR to MUTATION

Update DaoMutation.java

The data files still use the old column prefix of ONCOTATOR instead of MUTATION

Update DaoMutation.java

Update migration.sql

Adding quotes around column names

* db changes and renaming the column prefixes from oncotator to mutation

db changes in sql for renaming columns
renamed the column prefixes from oncotator to mutation on multiple classes and files

* Update migration.sql

Update migration.sql

fix syntax errors in mysql change column

Update migration.sql

fix syntax errors in mysql change column

setting db version

setting db version

* Removed Link columns

Removed Link columns and modified the documentation

* Update news.md

* update news.md

* update cosmic importer for new cosmic datafiles

* Update DB version and renaming mutation_event fields

* Update Mutation model

* Update SQL to fix incompatibility with sqlmode OnlyFullGroupBy and add support for multiple database impls to support mysql and h2

* Allow binning and filtering of custom (numerical and categorical) data

* Several small fixes and cleanup after feedback @dippindots

* Remove excess whitespace

* Fix combined Entrez Gene Id and Stuct Var Query in StructuralVariantMapper.xml

* update bilkent members

* Frontend v5.3.0

* Update ClinicalEventMyBatisRepositoryTest.java

We need to update this test because it's not java 8 compatible.

* Address java8 compatible issues in more tests

* Add importer and validator section to release-drafter.yml

* Fix release-drafter.yml error

* Update news.md

* Frontend v5.3.1

* Update News.md

* Use custom driver annotations in sv counts

* Test custom driver annotations filter in sv count query

* Differentiate between test svs by making annotations unique

* Fix sv whereSite1IsNot2 clause, add es0 sv custom driver data

* Remove unused DriverManagerDataSource fields from db tests

* Add comment to mybatis sv whereSite1IsNot2 clause

* Fix validation result_report.html: include new sv

* Frontend v5.3.2

* Update News.md

* fixed swagger page validation errors

* Frontend v5.3.3

* Add MSK database migration documentation (#10115)

Co-authored-by: Ino de Bruijn <[email protected]>

* Do not call next study view filter when no samples left (#10124)

* Add studyId to CancerStudyTag entity

* Frontend v5.3.4

* 🔧 Add Configuration Properties for study view summary limits

* add sitemaps for retype

adding url should fix this

* Frontend v5.3.5

* Add tutorials from others

* Add Farhan Haq tutorial video

* 🔧 Add StudyDownloadUrl to portal.properties

* Frontend v5.3.6

* Update News-Genie.md

* Fix study tag search when no studies present

* Add dsnparse Python requirement

Needed for future PR concerning using db.connection_string to connect to the database

* add jeremy to about page

* Documentation markdown fixes (#10186)

* Fix broken hyperlink to retype
* Move development files under development directory
* Fix markdown links for table of contents

* Frontend v5.3.7

* Update gene set version and update tests

* Fix integration test

* Frontend v5.3.8

* 📚 Update Priority Documentation

* ✨ Add ability to set priority to -1 for clinical attr

* add statistical tests in FAQ

Fixed #10198

* extend File-Formats.md with mutational signature datatype (#10172)

* Frontend v5.3.9

* change docker compose cmds

* fix contact email in dev section

* fix release notes docs link

* fix release procedure info

* Frontend v5.3.10

* Add note about official releases

* Add AACR GENIE BPC tutorial videos (#10215)

* Adding new features news (#10149)

* Adding new features news from 2022/05 to current

Co-authored-by: Ino de Bruijn <[email protected]>

* Update web-API-and-Clients.md (#10209)

Add description of cbioportalR in web API section

* Frontend v5.3.11

* Paginate clinical table response using Page and Pagable spring interfaces

* Use PaginatedClinicalData

* Add query to count items in clinical table

* Replace spring page with page response headers

* Fix page size when sorting clinical table

* Sort clinical table by sample and patient ID

* Fix distinct in patient attr sorting

* Fix difference h2 and mysql in sorting nulls last

* Rename *SampleClinicalTable* methods

* update members about us page

add calla & bryan, move several people to alumni

* Revert controler rename to keep backward compatible

* Impl. Struct Var count endpoint for Study View

* Remove unused imports

PR feedback Gaofei

* Correct variable name

PR feedback Gaofei

* Change HashMap to Set

PR feedback Gaofei

* Return counts when gene 1 or gene2 is null

* Change missing site1 or site2 gene for SV to INFO log level

Was WARN before.

* Update result report

* Create property to show reference genome in study list

* Frontend v5.3.12

* fix contributor last name

* Frontend v5.3.13

* Impl. Struct Var filter queries for /filtered-samples/fetch endpoint

* Add unit tests for resolveEntrezGeneIds

* Changes after PR reviews

- Rename StructVar* to StructuralVariant*
- Revert JsonInclude Always to NON_NULL
-

* Add Java 11 as requirement

* modify documentation for skin.hide_download_controls

* Improve treatment data api performance

* Improve study view treatment api performance

* Update download control options (#10264)

* Add more tests and comments

* fix 10221 - 403 issue

fix 10221 - 403 issue; swagger annotations cause issue in authentication object. If user authorization is enabled, authentication object is obtained from SecurityContextHolder

* Update Pyyaml package

See yaml/pyyaml#724 for details of this update

* Frontend v5.3.14

* Changes related to download group

* Allow ProfiledCasesCounter to add counts to empty alteration count list (#10255)

* Update about us page

* Frontend v5.3.15

* Cache treatment endpoints (#10282)

* update one-sided fisher test to two-sided

* Allow redis service unavailable when Redis is enabled

* Frontend v5.3.16

* Update two-sided fisher tests news (#10312)

* Add two-sided fisher tests news

---------

Co-authored-by: Ino de Bruijn <[email protected]>

* Genomic data counts study-view endpoint (#10300)

* implement getting CNA types for a gene specific

* add tests for genomic-data-counts endpoint

* change CopyNumberDataCounterFilter to StudyViewFilter and GenomicDataCountFilter

* change to molecularDataService to fetch data

* add filter logic for DISCRETE molecular profiles

* Refactor

* count NA and clean up codes

* Updates

* Update StudyViewServiceImplTest.java

---------

Co-authored-by: Qi-Xuan Lu <[email protected]>
Co-authored-by: Karthik <[email protected]>

* Frontend v5.3.17

* Add defaults for genomic evolution tab in patient view (#10309)

* Add defaults for mutation heatmap and line chart checkboxes

* Update text

---------

Co-authored-by: Gaofei Zhao <[email protected]>

* Add data access token user role filter feature (#10315)

* Add data access token user role filter feature
* Update and more tests
* Update failing test

---------

Co-authored-by: Jeremy R. Easton-Marks <[email protected]>

* Update About-Us.md (#10196)

Update About-Us.md

* Add label check test for pull request

* Frontend v5.3.18

* add info about adding labels

* add property show_web_tours (#10333)

* (GSoC) Generic Assay Categorical/Binary data implementation Backend (#10303)

* update backend

* finish tests

* modify controller file structure

* modify import

* update backend

* finish tests

* modify controller file structure

* refactor some variables

* modify enrichment compare and validate issue

* refactor the controllers and services

* refactor test

* Update GenericAssayEnrichmentServiceImpl.java

* fixed simplification issues

* add inline comments

* modify import

* solve core test issue

* test check

* modify expressionenrichment

* modify imports

* update backend

* finish tests

* modify controller file structure

* modify import

* update backend

* finish tests

* modify controller file structure

* refactor some variables

* modify enrichment compare and validate issue

* refactor the controllers and services

* refactor test

* Update GenericAssayEnrichmentServiceImpl.java

* fixed simplification issues

* add inline comments

* modify import

* solve core test issue

* test check

* modify expressionenrichment

* modify imports

* update imports

* Update GenericAssayEnrichment.java

---------

Co-authored-by: Prasanna Kumar Jagannathan <[email protected]>
Co-authored-by: sbabyanusha <[email protected]>
Co-authored-by: matthijspon <[email protected]>
Co-authored-by: Gaofei <[email protected]>
Co-authored-by: haynescd <[email protected]>
Co-authored-by: Charles Haynes <[email protected]>
Co-authored-by: Pim van Nierop <[email protected]>
Co-authored-by: Bas Leenknegt <[email protected]>
Co-authored-by: Ino de Bruijn <[email protected]>
Co-authored-by: sbabyanusha <[email protected]>
Co-authored-by: John Konecny <[email protected]>
Co-authored-by: alisman <[email protected]>
Co-authored-by: ritikakundra <[email protected]>
Co-authored-by: Tali Mazor <[email protected]>
Co-authored-by: Justin Jao <[email protected]>
Co-authored-by: JJ Gao <[email protected]>
Co-authored-by: Matthijs Pon <[email protected]>
Co-authored-by: karissawhiting <[email protected]>
Co-authored-by: oplantalech <[email protected]>
Co-authored-by: Onur Sumer <[email protected]>
Co-authored-by: Qi-Xuan Lu <[email protected]>
Co-authored-by: Karthik <[email protected]>
Co-authored-by: Bryan Lai <[email protected]>
Co-authored-by: qi-xuan.lu <[email protected]>
Co-authored-by: Beking0912 <[email protected]>
Co-authored-by: Jiahang Li <[email protected]>
  • Loading branch information
1 parent 4be9db4 commit 1d97913
Show file tree
Hide file tree
Showing 777 changed files with 72,799 additions and 3,133 deletions.
1 change: 1 addition & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Describe changes proposed in this pull request:
- [ ] Has tests or has a separate issue that describes the types of test that should be created. If no test is included it should explicitly be mentioned in the PR why there is no test.
- [ ] The commit log is comprehensible. It follows [7 rules of great commit messages](http://chris.beams.io/posts/git-commit/). For most PRs a single commit should suffice, in some cases multiple topical commits can be useful. During review it is ok to see tiny commits (e.g. Fix reviewer comments), but right before the code gets merged to master or rc branch, any such commits should be squashed since they are useless to the other developers. Definitely avoid [merge commits, use rebase instead.](http://nathanleclaire.com/blog/2014/09/14/dont-be-scared-of-git-rebase/)
- [ ] Is this PR adding logic based on one or more **clinical** attributes? If yes, please make sure validation for this attribute is also present in the data validation / data loading layers (in backend repo) and documented in [File-Formats Clinical data section](https://github.com/cBioPortal/cbioportal/blob/master/docs/File-Formats.md#clinical-data)!
- [ ] Make sure your PR has one of the labels defined in https://github.com/cBioPortal/cbioportal/blob/master/.github/release-drafter.yml

# Any screenshots or GIFs?
If this is a new visual feature please add a before/after screenshot or gif
Expand Down
6 changes: 5 additions & 1 deletion .github/release-drafter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ categories:
labels:
- 'documentation'
- 'cl-documentation'
- title: '🖊️ Data Importer & Validator'
labels:
- 'importer'
- 'validator'
- title: '🧹 Cleanup & Refactoring 🔧'
labels:
- 'cleanup'
Expand Down Expand Up @@ -79,4 +83,4 @@ template: |
- Frontend: https://github.com/cBioPortal/cbioportal-frontend/compare/$PREVIOUS_TAG...v$NEXT_PATCH_VERSION
## 🏷Notes on versioning and release procedure
https://docs.cbioportal.org/4.-development/release-procedure#a-note-on-versioning
https://docs.cbioportal.org/development/release-procedure/#a-note-on-versioning
50 changes: 50 additions & 0 deletions .github/workflows/label-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# This GitHub Actions workflow is designed to automatically check pull requests in the cBioPortal repository for valid labels before they can be merged.
# The workflow ensures that pull requests have labels that are defined in the .github/release-drafter.yml file's "categories" section.
# If a pull request lacks a valid label, the workflow will fail, preventing the merge until valid labels are applied.
name: Label Check

on:
pull_request:
types:
- opened
- synchronize

jobs:
label-check:
runs-on: ubuntu-latest
steps:
- name: Check PR Labels
uses: actions/checkout@v2

- name: Install dependencies
run: |
wget https://github.com/mikefarah/yq/releases/download/v4.34.2/yq_linux_amd64 -O /usr/local/bin/yq
chmod +x /usr/local/bin/yq
- name: Get Labels from release-drafter.yml
id: get_labels
run: |
curl -s "https://raw.githubusercontent.com/cBioPortal/cbioportal/master/.github/release-drafter.yml" | \
yq -r '.categories[].labels[]' > labels.txt
- name: Check Labels
id: check_labels
run: |
PR_NUMBER=$(jq -r ".number" $GITHUB_EVENT_PATH)
PR_LABELS=$(curl -s "https://api.github.com/repos/${{ github.repository }}/pulls/$PR_NUMBER" | \
jq -r '.labels[].name')
mapfile -t AVAILABLE_LABELS < labels.txt
for LABEL in ${PR_LABELS[@]}; do
if [[ "$LABEL" == "skip-changelog" ]]; then
echo "PR contains a valid label: skip-changelog"
exit 0 # Valid label found, exit successfully
fi
for AVAILABLE_LABEL in "${AVAILABLE_LABELS[@]}"; do
if [[ "$AVAILABLE_LABEL" == "$LABEL" ]]; then
echo "PR contains a valid label: $LABEL"
exit 0 # Valid label found, exit successfully
fi
done
done
echo "No valid label found on PR."
echo "Available label options from release-drafter.yml:"
cat labels.txt
exit 1 # No valid label found, exit with an error
Binary file added bin/SESSIONS.ser
Binary file not shown.
7 changes: 7 additions & 0 deletions bin/integration-tests/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Integration tests

This folder contains maven projects that test particular functionality of `cbioportal.war` started under different settings.

These tests get called by `maven-invoker-plugin` that is declared in the `portal` maven module of the project.

Keeping tests as separate maven projects liberate us from the application dependencies and unnecessary conflicts between them and test dependencies.
37 changes: 37 additions & 0 deletions bin/integration-tests/saml-oauth2-setup/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# saml-oauth2-setup

Tests oauth2 security workflow of the API with SAML authentication method for the UI.

- `OfflineTokenDownloadIntegrationTests` tests downloading an offline token to gain access to cbioportal API.
- `Oauth2ResourceServerIntegrationTests` tests API access by different type of users (anonymous, non authorized and authorized).

## Start mysql server for integration tests

database name: cgds_test
username: cbio_user
password: somepassword
port: 3306

## Start web container with cbioportal and saml IDP

You can start tomcat to play with the setup with the following command (replace with your values):

```$bash
cd portal/src/integration-tests/saml-oauth2-setup
CBIO_TEST_DB_USR=cbio_user \
CBIO_TEST_DB_PSW=somepassword \
CBIO_TEST_DB_HOST=127.0.0.1:3306 \
CBIO_TEST_DB_NAME=cgds_test \
CBIO_TEST_DB_CONNECTION_STRING=jdbc:mysql://127.0.0.1:3306/cgds_test?sessionVariables=default_storage_engine=InnoDB \
CBIO_WAR_LOCATION=../../../target/cbioportal.war \
mvn org.codehaus.cargo:cargo-maven2-plugin:run --non-recursive
```

## Run integration tests only

After starting the tomcat server above, you can run all tests with:

```$bash
cd portal/src/integration-tests/saml-oauth2-setup
mvn test failsafe:integration-test
```
168 changes: 168 additions & 0 deletions bin/integration-tests/saml-oauth2-setup/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.mskcc.cbio</groupId>
<artifactId>saml-oauth2-setup</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>

<modules>
<module>saml-idp</module>
</modules>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mock-server</groupId>
<artifactId>mockserver-netty</artifactId>
<version>5.8.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mock-server</groupId>
<artifactId>mockserver-client-java</artifactId>
<version>5.8.0</version>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
<executions>
<execution>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.7.8</version>
<configuration>
<container>
<containerId>tomcat8x</containerId>
<type>embedded</type>
<systemProperties>
<authenticate>saml</authenticate>
<dat.method>oauth2</dat.method>
<!-- DB settings -->
<db.user>${env.CBIO_TEST_DB_USR}</db.user>
<db.password>${env.CBIO_TEST_DB_PSW}</db.password>
<db.host>${env.CBIO_TEST_DB_HOST}</db.host>
<db.portal_db_name>${env.CBIO_TEST_DB_NAME}</db.portal_db_name>
<db.connection_string>${env.CBIO_TEST_DB_CONNECTION_STRING}</db.connection_string>
<!-- SAML settings -->
<saml.keystore.location>file://${project.basedir}/testSamlKeystore.jks
</saml.keystore.location>
<saml.keystore.password>123456</saml.keystore.password>
<saml.keystore.private-key.key>secure-key</saml.keystore.private-key.key>
<saml.keystore.private-key.password>654321</saml.keystore.private-key.password>
<saml.keystore.default-key>secure-key</saml.keystore.default-key>

<saml.idp.metadata.location>file://${project.basedir}/saml-idp-metadata.xml
</saml.idp.metadata.location>
<!--I had to use specificBinding because of this bug https://github.com/spring-projects/spring-security-saml/issues/460 -->
<saml.idp.comm.binding.settings>specificBinding</saml.idp.comm.binding.settings>
<saml.idp.comm.binding.type>bindings:HTTP-Redirect</saml.idp.comm.binding.type>
<saml.sp.metadata.entitybaseurl>#{null}</saml.sp.metadata.entitybaseurl>
<saml.sp.metadata.entityid>cbioportal</saml.sp.metadata.entityid>
<saml.idp.metadata.entityid>spring.security.saml.idp.id</saml.idp.metadata.entityid>
<saml.idp.metadata.attribute.email>User.email</saml.idp.metadata.attribute.email>
<saml.custom.userservice.class>
org.cbioportal.security.spring.authentication.saml.SAMLUserDetailsServiceImpl
</saml.custom.userservice.class>
<saml.logout.local>false</saml.logout.local>
<!--FIXME Our test saml idp does not sign assertions for some reason-->
<saml.sp.metadata.wantassertionsigned>false</saml.sp.metadata.wantassertionsigned>
<saml.logout.url>/</saml.logout.url>
<dat.oauth2.clientId>client_id</dat.oauth2.clientId>
<dat.oauth2.clientSecret>client_secret</dat.oauth2.clientSecret>
<dat.oauth2.issuer>token_issuer</dat.oauth2.issuer>
<dat.oauth2.accessTokenUri>http://localhost:8443/auth/realms/cbio/token</dat.oauth2.accessTokenUri>
<dat.oauth2.redirectUri>http://localhost:8080/api/data-access-token/oauth2</dat.oauth2.redirectUri>
<dat.oauth2.userAuthorizationUri>http://localhost:8443/auth/realms/cbio/auth</dat.oauth2.userAuthorizationUri>
<dat.oauth2.jwkUrl>http://localhost:8443/auth/realms/cbio/jwkUrl</dat.oauth2.jwkUrl>
<dat.oauth2.jwtRolesPath>resource_access::cbioportal::roles</dat.oauth2.jwtRolesPath>
</systemProperties>
</container>
<configuration>
<properties>
<cargo.servlet.port>8080</cargo.servlet.port>
<cargo.start.jvmargs>
-Xms2g
-Xmx4g
</cargo.start.jvmargs>
</properties>
</configuration>
<wait>false</wait>
<deployables>
<deployable>
<groupId>org.mskcc.cbio</groupId>
<artifactId>cbioportal</artifactId>
<type>war</type>
<location>${env.CBIO_WAR_LOCATION}</location>
</deployable>
<deployable>
<groupId>org.mskcc.cbio</groupId>
<artifactId>saml-idp</artifactId>
<type>war</type>
<location>${project.basedir}/saml-idp/target/saml-idp.war</location>
</deployable>
</deployables>
</configuration>
<executions>
<execution>
<id>start-server</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>stop-server</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.0.0-M4</version>
<configuration>
<includes>
<include>**/*IntegrationTests</include>
</includes>
<trimStackTrace>false</trimStackTrace>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
50 changes: 50 additions & 0 deletions bin/integration-tests/saml-oauth2-setup/saml-idp-metadata.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<md:EntityDescriptor ID="IDPM392d91fa-7520-4ab3-be02-a1876bb8d681" entityID="spring.security.saml.idp.id"
xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">
<md:IDPSSODescriptor ID="RD4fac15fd-394b-4ef0-b896-7fb50dcce5b5" WantAuthnRequestsSigned="true"
protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:KeyDescriptor use="signing">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>MIIChTCCAe4CCQDo0wjPUK8sMDANBgkqhkiG9w0BAQsFADCBhjELMAkGA1UEBhMCVVMxEzARBgNV
BAgMCldhc2hpbmd0b24xEjAQBgNVBAcMCVZhbmNvdXZlcjEdMBsGA1UECgwUU3ByaW5nIFNlY3Vy
aXR5IFNBTUwxDDAKBgNVBAsMA2lkcDEhMB8GA1UEAwwYaWRwLnNwcmluZy5zZWN1cml0eS5zYW1s
MB4XDTE4MDUxNDE0NTUyMVoXDTI4MDUxMTE0NTUyMVowgYYxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
DApXYXNoaW5ndG9uMRIwEAYDVQQHDAlWYW5jb3V2ZXIxHTAbBgNVBAoMFFNwcmluZyBTZWN1cml0
eSBTQU1MMQwwCgYDVQQLDANpZHAxITAfBgNVBAMMGGlkcC5zcHJpbmcuc2VjdXJpdHkuc2FtbDCB
nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2EuygAucRBWtYifgEH/ErVUive4dZdqo72Bze4Mb
kPuTKLrMCLB6IXxt1p5lu+tr0JxOiRO3KFVOO3D0l+j9zOow4g+JdoMQsjSzA6HtL/D9ZjXP6iUx
FCYx+qmnVl3X9ipBD/HVKOBlzIqeXTSa5D17uxPQVxK64UDOI3CyY4cCAwEAATANBgkqhkiG9w0B
AQsFAAOBgQAj+6b6dlA6SitTfz44LdnFSW9mYaeimwPP8ZtU7/3EJCzLd5eq7N/0kYPNVclZvB45
I0UMT77AHWrNyScm56MTcEpSuHhJHAqRAgJKbciCTNsFI928EqiWSmu//w0ASBN3bVa8nv8/rafu
utCq3RskTkHVZnbT5Xa6ITEZxSncow==
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
<md:KeyDescriptor use="encryption">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>MIIChTCCAe4CCQDo0wjPUK8sMDANBgkqhkiG9w0BAQsFADCBhjELMAkGA1UEBhMCVVMxEzARBgNV
BAgMCldhc2hpbmd0b24xEjAQBgNVBAcMCVZhbmNvdXZlcjEdMBsGA1UECgwUU3ByaW5nIFNlY3Vy
aXR5IFNBTUwxDDAKBgNVBAsMA2lkcDEhMB8GA1UEAwwYaWRwLnNwcmluZy5zZWN1cml0eS5zYW1s
MB4XDTE4MDUxNDE0NTUyMVoXDTI4MDUxMTE0NTUyMVowgYYxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
DApXYXNoaW5ndG9uMRIwEAYDVQQHDAlWYW5jb3V2ZXIxHTAbBgNVBAoMFFNwcmluZyBTZWN1cml0
eSBTQU1MMQwwCgYDVQQLDANpZHAxITAfBgNVBAMMGGlkcC5zcHJpbmcuc2VjdXJpdHkuc2FtbDCB
nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2EuygAucRBWtYifgEH/ErVUive4dZdqo72Bze4Mb
kPuTKLrMCLB6IXxt1p5lu+tr0JxOiRO3KFVOO3D0l+j9zOow4g+JdoMQsjSzA6HtL/D9ZjXP6iUx
FCYx+qmnVl3X9ipBD/HVKOBlzIqeXTSa5D17uxPQVxK64UDOI3CyY4cCAwEAATANBgkqhkiG9w0B
AQsFAAOBgQAj+6b6dlA6SitTfz44LdnFSW9mYaeimwPP8ZtU7/3EJCzLd5eq7N/0kYPNVclZvB45
I0UMT77AHWrNyScm56MTcEpSuHhJHAqRAgJKbciCTNsFI928EqiWSmu//w0ASBN3bVa8nv8/rafu
utCq3RskTkHVZnbT5Xa6ITEZxSncow==
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>
<md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="http://localhost:8080/saml-idp/saml/idp/SSO/alias/boot-sample-idp"/>
<md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
Location="http://localhost:8080/saml-idp/saml/idp/SSO/alias/boot-sample-idp"/>
</md:IDPSSODescriptor>
</md:EntityDescriptor>
18 changes: 18 additions & 0 deletions bin/integration-tests/saml-oauth2-setup/saml-idp/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# saml-idp

A test SAML Identity Provider. It is used by cbioportal integration tests.
It's modified version of [a saml IDP sample code](https://github.com/spring-projects/spring-security-saml/tree/develop/samples/boot/simple-identity-provider) of the spring security.
`application.yml` specify a test user email that is added to assertions.

## License

The sample code is distributed under Apache License, Version 2.0.

## Known limitations

- The IDP does not sign assertions. That's why we had to set the following flag for the test cbioportal application:

```$xml
<!--FIXME Our test saml idp does not sing assertions for some reason-->
<saml.sp.metadata.wantassertionsigned>false</saml.sp.metadata.wantassertionsigned>
```
Loading

0 comments on commit 1d97913

Please sign in to comment.