Skip to content

Commit b69b6ed

Browse files
committed
Merge branch 'release/21.1.0'
2 parents b70aaa9 + 24bd8d0 commit b69b6ed

File tree

75 files changed

+7557
-138
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+7557
-138
lines changed

.github/workflows/build.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,5 @@ jobs:
3333
env:
3434
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
3535
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
36-
run: ./gradlew build sonarqube --info
36+
run: ./gradlew build sonarqube -Dsonar.projectKey=${{ secrets.SONAR_KEY }} -Dsonar.host.url=${{ secrets.SONAR_URL }} --info
37+
continue-on-error: true

CHANGELOG.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,19 @@
22

33
We follow the CalVer (https://calver.org/) versioning scheme: YY.MINOR.MICRO.
44

5-
21.0.0 (02-03-2020)
5+
21.1.0 (03-30-2021)
6+
===================
7+
8+
OSF CAS feature-complete release
9+
10+
* OSF CAS as an OAuth 2.0 server
11+
* OSF personal access token, developer apps and oauth scopes
12+
* Authentication failure throttling
13+
* Customized institution logout
14+
* Institution department
15+
* Overlay template and core library upgrade
16+
17+
21.0.0 (02-03-2021)
618
===================
719

820
OSF CAS third release with web flow updates, institution SSO, and FE rework

build.gradle

Lines changed: 39 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -93,64 +93,69 @@ idea {
9393
}
9494

9595
apply plugin: "org.sonarqube"
96-
sonarqube {
97-
properties {
98-
property "sonar.projectKey", "CenterForOpenScience_osf-cas"
99-
property "sonar.organization", "centerforopenscience"
100-
property "sonar.host.url", "https://sonarcloud.io"
101-
}
102-
}
10396

10497
dependencies {
10598
// Other CAS dependencies/modules may be listed here...
10699

107-
// JSON Service Registry
108-
implementation "org.apereo.cas:cas-server-support-json-service-registry:${project.'cas.version'}"
109-
100+
// Authentication
101+
implementation "org.apereo.cas:cas-server-core-authentication:${project.'cas.version'}"
102+
implementation "org.apereo.cas:cas-server-core-authentication-api:${project.'cas.version'}"
103+
implementation "org.apereo.cas:cas-server-core-authentication-attributes:${project.'cas.version'}"
104+
implementation "org.apereo.cas:cas-server-core-authentication-mfa-api:${project.'cas.version'}"
105+
implementation "org.apereo.cas:cas-server-core-authentication-throttle:${project.'cas.version'}"
106+
// Cookie
107+
implementation "org.apereo.cas:cas-server-core-cookie-api:${project.'cas.version'}"
108+
// Services
109+
implementation "org.apereo.cas:cas-server-core-services:${project.'cas.version'}"
110+
implementation "org.apereo.cas:cas-server-core-services-api:${project.'cas.version'}"
111+
implementation "org.apereo.cas:cas-server-core-services-registry:${project.'cas.version'}"
112+
// Ticket
113+
implementation "org.apereo.cas:cas-server-core-tickets-api:${project.'cas.version'}"
110114
// Core Utilities
111115
implementation "org.apereo.cas:cas-server-core-util-api:${project.'cas.version'}"
112-
113-
// Web and Requests
116+
// Validation
117+
implementation "org.apereo.cas:cas-server-core-validation-api:${project.'cas.version'}"
118+
// Web
114119
implementation "org.apereo.cas:cas-server-core-web-api:${project.'cas.version'}"
115-
116-
// Web Flow Customization
120+
// Web Flow
117121
implementation "org.apereo.cas:cas-server-core-webflow:${project.'cas.version'}"
118122
implementation "org.apereo.cas:cas-server-core-webflow-api:${project.'cas.version'}"
123+
// Actions
119124
implementation "org.apereo.cas:cas-server-support-actions:${project.'cas.version'}"
120-
121-
// Authentication Customization
122-
implementation "org.apereo.cas:cas-server-core-authentication:${project.'cas.version'}"
123-
implementation "org.apereo.cas:cas-server-core-authentication-api:${project.'cas.version'}"
124-
implementation "org.apereo.cas:cas-server-core-authentication-mfa-api:${project.'cas.version'}"
125-
126-
// Authentication Delegation: Vanilla
127-
implementation "org.apereo.cas:cas-server-support-pac4j-webflow:${project.'cas.version'}"
128-
// Authentication Delegation: Customization
129-
implementation "org.apereo.cas:cas-server-support-pac4j-core:${project.'cas.version'}"
130-
131125
// JDBC Drivers
132126
implementation "org.apereo.cas:cas-server-support-jdbc-drivers:${project.'cas.version'}"
133-
134-
// JPA OSF PostgreSQL
135-
implementation "org.apereo.cas:cas-server-support-jpa-util:${project.'cas.version'}"
136-
137127
// JPA Ticket Registry
138128
implementation "org.apereo.cas:cas-server-support-jpa-ticket-registry:${project.'cas.version'}"
129+
// JPA Utilities
130+
implementation "org.apereo.cas:cas-server-support-jpa-util:${project.'cas.version'}"
131+
// JSON Service Registry
132+
implementation "org.apereo.cas:cas-server-support-json-service-registry:${project.'cas.version'}"
133+
// OAuth 2.0 Server
134+
implementation "org.apereo.cas:cas-server-support-oauth-api:${project.'cas.version'}"
135+
implementation "org.apereo.cas:cas-server-support-oauth-core-api:${project.'cas.version'}"
136+
implementation "org.apereo.cas:cas-server-support-oauth-services:${project.'cas.version'}"
137+
implementation "org.apereo.cas:cas-server-support-oauth-webflow:${project.'cas.version'}"
138+
// Pac4j
139+
implementation "org.apereo.cas:cas-server-support-pac4j-api:${project.'cas.version'}"
140+
implementation "org.apereo.cas:cas-server-support-pac4j-core:${project.'cas.version'}"
141+
implementation "org.apereo.cas:cas-server-support-pac4j-webflow:${project.'cas.version'}"
142+
// Token
143+
implementation "org.apereo.cas:cas-server-support-token-core-api:${project.'cas.version'}"
144+
// Throttling
145+
implementation "org.apereo.cas:cas-server-support-throttle:${project.'cas.version'}"
139146

140147
// Tomcat Catalina
141148
implementation "org.apache.tomcat:tomcat-catalina:${springBootTomcatVersion}"
142-
143149
// Hibernate
144150
implementation "org.hibernate:hibernate-core:${hibernateCoreVersion}"
145-
146151
// Google GSON
147152
implementation "com.google.code.gson:gson:${gsonVersion}"
148-
149153
// Javascript Object Signing and Encryption (JOSE) and JSON Web Tokens (JWT)
150154
implementation "com.nimbusds:nimbus-jose-jwt:${nimbusJoseVersion}"
151-
152-
// Apache HttpComponents Client fluent API
155+
// Apache HttpComponents Client Fluent API
153156
implementation "org.apache.httpcomponents:fluent-hc:${fluentHcVersion}"
157+
// Jasig CAS Client
158+
implementation "org.jasig.cas.client:cas-client-core:${casClientVersion}"
154159
}
155160

156161
tasks.findByName("jibDockerBuild")

etc/cas/config/cas.properties

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,21 @@ cas.server.prefix=${cas.server.name}
1717
cas.server.tomcat.server-name=OSF CAS
1818
########################################################################################################################
1919

20+
########################################################################################################################
21+
# Throttling
22+
# Configuration guide: https://apereo.github.io/cas/6.2.x/installation/Configuring-Authentication-Throttling.html
23+
# Properties: https://apereo.github.io/cas/6.2.x/configuration/Configuration-Properties.html#authentication-throttling
24+
########################################################################################################################
25+
#
26+
# Authentication Failure Throttling
27+
#
28+
cas.authn.throttle.username-parameter=username
29+
cas.authn.throttle.app-code=CAS
30+
cas.authn.throttle.failure.code=AUTHENTICATION_FAILED
31+
cas.authn.throttle.failure.threshold=5
32+
cas.authn.throttle.failure.range-seconds=1
33+
########################################################################################################################
34+
2035
########################################################################################################################
2136
# CAS Web Application Endpoints Security
2237
# See: https://docs.spring.io/spring-boot/docs/2.2.8.RELEASE/reference/htmlsingle/#boot-features-security
@@ -239,3 +254,43 @@ cas.authn.pac4j.cas[1].client-name=okstate
239254
cas.authn.pac4j.cas[1].protocol=SAML
240255
cas.authn.pac4j.cas[1].callback-url-type=QUERY_PARAMETER
241256
########################################################################################################################
257+
258+
########################################################################################################################
259+
# OAuth 2.0 Server
260+
# Configuration guide: https://apereo.github.io/cas/6.2.x/installation/OAuth-OpenId-Authentication.html
261+
# Properties: https://apereo.github.io/cas/6.2.x/configuration/Configuration-Properties.html#oauth2
262+
########################################################################################################################
263+
# Authorization Code
264+
#
265+
cas.authn.oauth.code.time-to-kill-in-seconds=60
266+
cas.authn.oauth.code.number-of-uses=1
267+
#
268+
# Access token
269+
#
270+
cas.authn.oauth.access-token.time-to-kill-in-seconds=7200
271+
cas.authn.oauth.access-token.max-time-to-live-in-seconds=28800
272+
#
273+
# OAuth JWT Access Tokens
274+
# Signing and encryption are not enabled for Token / JWT Tickets.
275+
# The keys will only attempt to produce signed (signing key) and plain (encryption key) objects.
276+
#
277+
cas.authn.oauth.access-token.create-as-jwt=false
278+
cas.authn.oauth.access-token.crypto.encryption-enabled=false
279+
cas.authn.oauth.access-token.crypto.signing-enabled=false
280+
cas.authn.oauth.access-token.crypto.signing.key=${OAUTH_JWT_ACCESS_TOKEN_SIGNING_KEY}
281+
cas.authn.oauth.access-token.crypto.encryption.key=${OAUTH_JWT_ACCESS_TOKEN_ENCRYPTION_KEY}
282+
#
283+
# Refresh token
284+
#
285+
cas.authn.oauth.refresh-token.time-to-kill-in-seconds=2592000
286+
#
287+
# Personal access token
288+
#
289+
cas.authn.oauth.personal-access-token.time-to-kill-in-seconds=2592000
290+
cas.authn.oauth.personal-access-token.max-time-to-live-in-seconds=31104000
291+
#
292+
# Signing and encryption for OAuth registered service
293+
#
294+
cas.authn.oauth.crypto.signing.key=${OAUTH_REGISTERED_SERVICE_SIGNING_KEY}
295+
cas.authn.oauth.crypto.encryption.key=${OAUTH_REGISTERED_SERVICE_ENCRYPTION_KEY}
296+
########################################################################################################################

etc/cas/config/local/cas-local.properties

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,21 @@ cas.server.tomcat.server-name=OSF CAS
2323
# e.g. cas.server.tomcat.http.attributes.{attribute-name}={attributeValue}
2424
########################################################################################################################
2525

26+
########################################################################################################################
27+
# Throttling
28+
# Configuration guide: https://apereo.github.io/cas/6.2.x/installation/Configuring-Authentication-Throttling.html
29+
# Properties: https://apereo.github.io/cas/6.2.x/configuration/Configuration-Properties.html#authentication-throttling
30+
########################################################################################################################
31+
#
32+
# Authentication Failure Throttling
33+
#
34+
cas.authn.throttle.username-parameter=username
35+
cas.authn.throttle.app-code=CAS
36+
cas.authn.throttle.failure.code=AUTHENTICATION_FAILED
37+
cas.authn.throttle.failure.threshold=5
38+
cas.authn.throttle.failure.range-seconds=1
39+
########################################################################################################################
40+
2641
########################################################################################################################
2742
# CAS Web Application Endpoints Security
2843
# See: https://docs.spring.io/spring-boot/docs/2.2.8.RELEASE/reference/htmlsingle/#boot-features-security
@@ -254,3 +269,43 @@ cas.authn.pac4j.cas[2].client-name=fakecas
254269
cas.authn.pac4j.cas[2].protocol=CAS30
255270
cas.authn.pac4j.cas[2].callback-url-type=QUERY_PARAMETER
256271
########################################################################################################################
272+
273+
########################################################################################################################
274+
# OAuth 2.0 Server
275+
# Configuration guide: https://apereo.github.io/cas/6.2.x/installation/OAuth-OpenId-Authentication.html
276+
# Properties: https://apereo.github.io/cas/6.2.x/configuration/Configuration-Properties.html#oauth2
277+
########################################################################################################################
278+
# Authorization Code
279+
#
280+
cas.authn.oauth.code.time-to-kill-in-seconds=60
281+
cas.authn.oauth.code.number-of-uses=1
282+
#
283+
# Access token
284+
#
285+
cas.authn.oauth.access-token.time-to-kill-in-seconds=7200
286+
cas.authn.oauth.access-token.max-time-to-live-in-seconds=28800
287+
#
288+
# OAuth JWT Access Tokens
289+
# Signing and encryption are not enabled for Token / JWT Tickets.
290+
# The keys will only attempt to produce signed (signing key) and plain (encryption key) objects.
291+
#
292+
cas.authn.oauth.access-token.create-as-jwt=false
293+
cas.authn.oauth.access-token.crypto.encryption-enabled=false
294+
cas.authn.oauth.access-token.crypto.signing-enabled=false
295+
cas.authn.oauth.access-token.crypto.signing.key=changeme
296+
cas.authn.oauth.access-token.crypto.encryption.key=changeme
297+
#
298+
# Refresh token
299+
#
300+
cas.authn.oauth.refresh-token.time-to-kill-in-seconds=2592000
301+
#
302+
# Personal access token
303+
#
304+
cas.authn.oauth.personal-access-token.time-to-kill-in-seconds=2592000
305+
cas.authn.oauth.personal-access-token.max-time-to-live-in-seconds=31104000
306+
#
307+
# Signing and encryption for OAuth registered service
308+
#
309+
cas.authn.oauth.crypto.signing.key=changeme
310+
cas.authn.oauth.crypto.encryption.key=changeme
311+
########################################################################################################################

0 commit comments

Comments
 (0)