Skip to content

Commit 456c178

Browse files
authored
OpenID Connect custom parameters (#2254)
1 parent f50bffb commit 456c178

3 files changed

Lines changed: 12 additions & 0 deletions

File tree

pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@
101101
<security.oid.url></security.oid.url>
102102
<security.oid.logoutUrl></security.oid.logoutUrl>
103103
<security.oid.extraScopes></security.oid.extraScopes>
104+
<security.oid.customParams>{:}</security.oid.customParams>
104105
<security.oid.redirectUrl>http://localhost/index.html#/welcome/</security.oid.redirectUrl>
105106
<security.kerberos.spn></security.kerberos.spn>
106107
<security.kerberos.keytabPath></security.kerberos.keytabPath>

src/main/java/org/ohdsi/webapi/OidcConfCreator.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
import org.springframework.beans.factory.annotation.Value;
2424
import org.springframework.stereotype.Component;
2525

26+
import java.util.HashMap;
27+
import java.util.Map;
28+
2629

2730
@Component
2831
public class OidcConfCreator {
@@ -41,6 +44,9 @@ public class OidcConfCreator {
4144

4245
@Value("${security.oid.extraScopes}")
4346
private String extraScopes;
47+
48+
@Value("#{${security.oid.customParams:{T(java.util.Collections).emptyMap()}}}")
49+
private Map<String, String> customParams = new HashMap<>();
4450

4551
@Value("${security.oauth.callback.api}")
4652
private String oauthApiCallback;
@@ -53,6 +59,10 @@ public OidcConfiguration build() {
5359
conf.setLogoutUrl(logoutUrl);
5460
conf.setWithState(true);
5561
conf.setUseNonce(true);
62+
63+
if (customParams != null) {
64+
customParams.forEach(conf::addCustomParam);
65+
}
5666

5767
String scopes = "openid";
5868
if (extraScopes != null && !extraScopes.isEmpty()){

src/main/resources/application.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ security.oid.url=${security.oid.url}
127127
security.oid.redirectUrl=${security.oid.redirectUrl}
128128
security.oid.logoutUrl=${security.oid.logoutUrl}
129129
security.oid.extraScopes=${security.oid.extraScopes}
130+
security.oid.customParams=${security.oid.customParams}
130131
security.db.datasource.driverClassName=${security.db.datasource.driverClassName}
131132
security.db.datasource.url=${security.db.datasource.url}
132133
security.db.datasource.username=${security.db.datasource.username}

0 commit comments

Comments
 (0)