Skip to content

Commit f694cbd

Browse files
committed
Merge branch 'release/25.1.0'
2 parents 131f271 + 3bfdeac commit f694cbd

75 files changed

Lines changed: 2969 additions & 604 deletions

File tree

Some content is hidden

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

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22

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

5+
6+
25.1.0 (09-30-2025)
7+
===================
8+
9+
* CAS FE rework for angular OSF release
10+
* Add dev-mode to reach pages directly bypassing required web/authn flow
11+
* SSO config sync
12+
513
25.0.0 (09-10-2025)
614
===================
715

etc/cas/config/attribute-map-prod.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@
150150
-->
151151

152152
<!-- Active Directory Federation Services (ADFS 2.x) -->
153-
<!-- University of Cape Town (UCT) and Boys Town (BT) -->
153+
<Attribute name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/eppn" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" id="eppn" />
154154
<Attribute name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" id="mail" />
155155
<Attribute name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" id="displayName" />
156156
<Attribute name="http://schemas.microsoft.com/identity/claims/displayname" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" id="displayName" />

etc/cas/config/attribute-map-test.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@
151151
-->
152152

153153
<!-- Active Directory Federation Services (ADFS 2.x) -->
154-
<!-- University of Cape Town (UCT), Boys Town (BT) and East Carolina University (ECU) -->
154+
<Attribute name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/eppn" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" id="eppn" />
155155
<Attribute name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" id="mail" />
156156
<Attribute name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" id="displayName" />
157157
<Attribute name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" id="givenName" />

etc/cas/config/cas.properties

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ cas.server.prefix=${cas.server.name}
1515
# Tomcat Server
1616
#
1717
cas.server.tomcat.server-name=OSF CAS
18+
#
19+
# Dev Mode Options
20+
#
21+
cas.server.dev-mode.allow-force-authn-exception=${ALLOW_FORCE_AUTHN_EXCEPTION:false}
22+
cas.server.dev-mode.allow-force-http-error=${ALLOW_FORCE_HTTP_ERROR:false}
23+
#
1824
########################################################################################################################
1925

2026
########################################################################################################################
@@ -90,6 +96,12 @@ cas.logout.remove-descendant-tickets=false
9096
#
9197
cas.authn.osf-url.home=https://{{ .Values.osfDomain }}/
9298
cas.authn.osf-url.dashboard=https://{{ .Values.osfDomain }}/dashboard/
99+
cas.authn.osf-url.search=https://{{ .Values.osfDomain }}/search/
100+
cas.authn.osf-url.support=https://help.osf.io
101+
cas.authn.osf-url.registries=https://{{ .Values.osfDomain }}/registries/discover/
102+
cas.authn.osf-url.preprints=https://{{ .Values.osfDomain }}/preprints/discover/
103+
cas.authn.osf-url.meetings=https://{{ .Values.osfDomain }}/meetings/
104+
cas.authn.osf-url.donate=https://www.cos.io/support-cos
93105
cas.authn.osf-url.login-with-next=https://{{ .Values.osfDomain }}/login?next=
94106
cas.authn.osf-url.logout=https://{{ .Values.osfDomain }}/logout/
95107
cas.authn.osf-url.resend-confirmation=https://{{ .Values.osfDomain }}/resend/

etc/cas/config/instn-authn-prod.xsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@
250250
</user>
251251
</xsl:when>
252252
<!-- Harvard University (HARVARD) -->
253-
<xsl:when test="$idp='https://fed.huit.harvard.edu/idp/shibboleth'">
253+
<xsl:when test="$idp='http://www.okta.com/exk1xrjz6q65XDb2J1d8 '">
254254
<id>harvard</id>
255255
<user>
256256
<username><xsl:value-of select="//attribute[@name='mail']/@value"/></username>

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ cas.server.tomcat.server-name=OSF CAS
2121
# cas.server.tomcat.http.enabled=true
2222
# cas.server.tomcat.http.attributes=
2323
# e.g. cas.server.tomcat.http.attributes.{attribute-name}={attributeValue}
24+
#
25+
# Dev Mode Options
26+
#
27+
cas.server.dev-mode.allow-force-authn-exception=true
28+
cas.server.dev-mode.allow-force-http-error=true
2429
########################################################################################################################
2530

2631
########################################################################################################################
@@ -97,6 +102,12 @@ cas.logout.remove-descendant-tickets=false
97102
#
98103
cas.authn.osf-url.home=http://localhost:5000/
99104
cas.authn.osf-url.dashboard=http://localhost:5000/dashboard/
105+
cas.authn.osf-url.search=http://localhost:5000/search/
106+
cas.authn.osf-url.support=https://help.osf.io
107+
cas.authn.osf-url.registries=http://localhost:5000/registries/discover/
108+
cas.authn.osf-url.preprints=http://localhost:5000/preprints/discover/
109+
cas.authn.osf-url.meetings=http://localhost:5000/meetings/
110+
cas.authn.osf-url.donate=https://www.cos.io/support-cos
100111
cas.authn.osf-url.login-with-next=http://localhost:5000/login?next=
101112
cas.authn.osf-url.logout=http://localhost:5000/logout/
102113
cas.authn.osf-url.resend-confirmation=http://localhost:5000/resend/

etc/cas/config/shibboleth2-prod.xml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,13 @@
5555
<MetadataFilter type="Signature" certificate="ecu-prod-idp-cert.cer" />
5656
</MetadataProvider>
5757

58+
<!-- Harvard University -->
59+
<MetadataProvider type="XML"
60+
uri="https://login.harvard.edu/app/exk1xrjz6q65XDb2J1d8/sso/saml/metadata"
61+
backingFilePath="harvard-prod-idp-metadata.xml"
62+
reloadInterval="180000">
63+
</MetadataProvider>
64+
5865
<!-- Macquarie University (MQ) -->
5966
<MetadataProvider type="XML"
6067
uri="https://mq.okta.com/app/exk2dzwun7KebsDIV2p7/sso/saml/metadata"
@@ -107,7 +114,6 @@
107114
<!-- George Mason University -->
108115
<!-- George Washington University -->
109116
<!-- Georgia Institute of Technology -->
110-
<!-- Harvard University -->
111117
<!-- James Madison University -->
112118
<!-- KU Leuven -->
113119
<!-- Massachusetts Institute of Technology -->
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package io.cos.cas.osf.configuration.model;
2+
3+
import lombok.Getter;
4+
import lombok.Setter;
5+
import lombok.experimental.Accessors;
6+
7+
import java.io.Serializable;
8+
9+
/**
10+
* This is {@link DevModeProperties}.
11+
*
12+
* @author Longze Chen
13+
* @since 25.1.0
14+
*/
15+
@Getter
16+
@Setter
17+
@Accessors(chain = true)
18+
public class DevModeProperties implements Serializable {
19+
20+
/**
21+
* Serialization metadata.
22+
*/
23+
private static final long serialVersionUID = -1725182183570276203L;
24+
25+
/**
26+
* Allow CAS to force throw authentication exceptions and to render respective error pages for testing purpose.
27+
*/
28+
private boolean allowForceAuthnException = Boolean.FALSE;
29+
30+
/**
31+
* Allow CAS to force http errors which have built-in rendering template for rendering and testing.
32+
*/
33+
private boolean allowForceHttpError = Boolean.FALSE;
34+
}

src/main/java/io/cos/cas/osf/configuration/model/OsfUrlProperties.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,36 @@ public class OsfUrlProperties implements Serializable {
3636
*/
3737
private String dashboard;
3838

39+
/**
40+
* OSF search page URL.
41+
*/
42+
private String search;
43+
44+
/**
45+
* OSF support page URL.
46+
*/
47+
private String support;
48+
49+
/**
50+
* OSF registries page URL.
51+
*/
52+
private String registries;
53+
54+
/**
55+
* OSF preprints page URL.
56+
*/
57+
private String preprints;
58+
59+
/**
60+
* OSF meetings page URL.
61+
*/
62+
private String meetings;
63+
64+
/**
65+
* OSF donate page URL.
66+
*/
67+
private String donate;
68+
3969
/**
4070
* OSF sign-up page URL.
4171
*/

src/main/java/io/cos/cas/osf/web/config/OsfCasSupportActionsConfiguration.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ public Action osfNonInteractiveAuthenticationCheckAction() {
101101
adaptiveAuthenticationPolicy.getObject(),
102102
centralAuthenticationService.getObject(),
103103
jpaOsfDao.getObject(),
104+
casProperties.getServer().getDevMode(),
104105
casProperties.getAuthn().getOsfUrl(),
105106
casProperties.getAuthn().getOsfApi(),
106107
authnDelegationClients

0 commit comments

Comments
 (0)