Skip to content

Commit 5c3bf47

Browse files
committed
Merge branch 'development'
2 parents e4baebe + edb55df commit 5c3bf47

5 files changed

Lines changed: 47 additions & 66 deletions

File tree

box.json

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name":"cbsso",
3-
"version":"2.0.0",
3+
"version":"2.1.0",
44
"location":"https://downloads.ortussolutions.com/ortussolutions/coldbox-modules/cbsso/@build.version@/cbsso-@build.version@.zip",
55
"author":"Ortus Solutions <info@ortussolutions.com>",
66
"homepage":"https://github.com/coldbox-modules/cbsso",
@@ -9,22 +9,22 @@
99
"type":"git",
1010
"url":"https://github.com/coldbox-modules/cbsso"
1111
},
12-
"bugs": "https://github.com/coldbox-modules/cbsso",
13-
"shortDescription": "Description goes here",
14-
"slug": "cbsso",
15-
"type": "modules",
16-
"keywords": "",
17-
"license": [
12+
"bugs":"https://github.com/coldbox-modules/cbsso",
13+
"shortDescription":"Description goes here",
14+
"slug":"cbsso",
15+
"type":"modules",
16+
"keywords":"",
17+
"license":[
1818
{
19-
"type": "Apache2",
20-
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
19+
"type":"Apache2",
20+
"url":"http://www.apache.org/licenses/LICENSE-2.0.html"
2121
}
2222
],
2323
"contributors":[],
2424
"dependencies":{
2525
"hyper":"^7.2.1",
2626
"jwt-cfml":"^1.2.0",
27-
"cbjavaloader":"^2.1.1+8"
27+
"cbjavaloader":"^2.1.1+8"
2828
},
2929
"devDependencies":{
3030
"commandbox-cfformat":"*",
@@ -33,29 +33,29 @@
3333
"commandbox-cfconfig":"*",
3434
"bx-esapi":"^1.6.0+9"
3535
},
36-
"ignore": [
36+
"ignore":[
3737
"**/.*",
3838
"test-harness",
3939
"/server*.json"
4040
],
41-
"scripts": {
42-
"setupTemplate": "task run taskFile=build/SetupTemplate.cfc",
43-
"build:module": "task run taskFile=build/Build.cfc :projectName=`package show slug` :version=`package show version`",
44-
"build:docs": "task run taskFile=build/Build.cfc target=docs :projectName=`package show slug` :version=`package show version`",
45-
"install:dependencies": "install && cd test-harness && install",
46-
"release": "recipe build/release.boxr",
47-
"format": "cfformat run helpers,models,test-harness/tests/,ModuleConfig.cfc --overwrite",
48-
"format:watch": "cfformat watch helpers,models,test-harness/tests/,ModuleConfig.cfc ./.cfformat.json",
49-
"format:check": "cfformat check helpers,models,test-harness/tests/,ModuleConfig.cfc ./.cfformat.json",
50-
"start:lucee": "server start serverConfigFile=server-lucee@5.json",
51-
"start:2018": "server start serverConfigFile=server-adobe@2018.json",
52-
"start:2021": "server start serverConfigFile=server-adobe@2021.json",
53-
"stop:lucee": "server stop serverConfigFile=server-lucee@5.json",
54-
"stop:2018": "server stop serverConfigFile=server-adobe@2018.json",
55-
"stop:2021": "server stop serverConfigFile=server-adobe@2021.json",
56-
"logs:lucee": "server log serverConfigFile=server-lucee@5.json --follow",
57-
"logs:2018": "server log serverConfigFile=server-adobe@2018.json --follow",
58-
"logs:2021": "server log serverConfigFile=server-adobe@2021.json --follow"
41+
"scripts":{
42+
"setupTemplate":"task run taskFile=build/SetupTemplate.cfc",
43+
"build:module":"task run taskFile=build/Build.cfc :projectName=`package show slug` :version=`package show version`",
44+
"build:docs":"task run taskFile=build/Build.cfc target=docs :projectName=`package show slug` :version=`package show version`",
45+
"install:dependencies":"install && cd test-harness && install",
46+
"release":"recipe build/release.boxr",
47+
"format":"cfformat run helpers,models,test-harness/tests/,ModuleConfig.cfc --overwrite",
48+
"format:watch":"cfformat watch helpers,models,test-harness/tests/,ModuleConfig.cfc ./.cfformat.json",
49+
"format:check":"cfformat check helpers,models,test-harness/tests/,ModuleConfig.cfc ./.cfformat.json",
50+
"start:lucee":"server start serverConfigFile=server-lucee@5.json",
51+
"start:2018":"server start serverConfigFile=server-adobe@2018.json",
52+
"start:2021":"server start serverConfigFile=server-adobe@2021.json",
53+
"stop:lucee":"server stop serverConfigFile=server-lucee@5.json",
54+
"stop:2018":"server stop serverConfigFile=server-adobe@2018.json",
55+
"stop:2021":"server stop serverConfigFile=server-adobe@2021.json",
56+
"logs:lucee":"server log serverConfigFile=server-lucee@5.json --follow",
57+
"logs:2018":"server log serverConfigFile=server-adobe@2018.json --follow",
58+
"logs:2021":"server log serverConfigFile=server-adobe@2021.json --follow"
5959
},
6060
"testbox":{
6161
"runner":"http://localhost:9181/tests/runner.cfm"

models/providers/BaseProvider.cfc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ component {
99
return variables.redirectURI;
1010
}
1111

12-
var event = requestService.getContext();
13-
1412
return "#event.getHTMLBaseURL()#cbsso/auth/#variables.name.lcase()#";
1513
}
1614

models/providers/GoogleProvider.cfc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ component
5151
var res = oAuthService.makeAccessTokenRequest(
5252
getClientId(),
5353
getClientSecret(),
54-
getRedirectUri(),
54+
getRedirectUri( event ),
5555
getAccessTokenEndpoint(),
5656
event.getValue( "code" )
5757
);

models/providers/MicrosoftSAMLProvider.cfc

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -107,42 +107,10 @@ component
107107
return binaryEncode( output, "base64" );
108108
}
109109

110-
private boolean function detectSuccess( required xmlDoc ){
111-
return xmlSearch( xmlDoc, "//samlp:StatusCode[@Value='urn:oasis:names:tc:SAML:2.0:status:Success']" ).len() == 1;
112-
}
113-
114110
private boolean function extractErrorMessage( required xmlDoc ){
115111
return xmlSearch( xmlDoc, "//samlp:StatusMessage" )[ 1 ].xmlchildren[ 1 ].xmltext;
116112
}
117113

118-
private string function extractFirstName( required xmlDoc ){
119-
return xmlSearch(
120-
xmlDoc,
121-
"//Attribute[@Name='http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname']"
122-
)[ 1 ].xmlchildren[ 1 ].xmltext;
123-
}
124-
125-
private string function extractLastName( required xmlDoc ){
126-
return xmlSearch(
127-
xmlDoc,
128-
"//Attribute[@Name='http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname']"
129-
)[ 1 ].xmlchildren[ 1 ].xmltext;
130-
}
131-
132-
private string function extractEmail( required xmlDoc ){
133-
return xmlSearch(
134-
xmlDoc,
135-
"//Attribute[@Name='http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress']"
136-
)[ 1 ].xmlchildren[ 1 ].xmltext;
137-
}
138-
139-
private string function extractUserId( required xmlDoc ){
140-
return xmlSearch(
141-
xmlDoc,
142-
"//Attribute[@Name='http://schemas.microsoft.com/identity/claims/objectidentifier']"
143-
)[ 1 ].xmlchildren[ 1 ].xmltext;
144-
}
145-
146114
private void function initializeOpenSAMLLib(){
147115
if ( !isNull( variables.AuthNRequestGenerator ) ) {
148116
return;

models/utility/SAMLParsingService.cfc

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,25 @@ component singleton {
7979
}
8080

8181
private string function extractEmail( required xmlDoc ){
82-
return xmlSearch(
82+
// try emailAddress claim first, then fallback to name claim if emailAddress is not present
83+
var emailNodes = xmlSearch(
8384
xmlDoc,
8485
"//Attribute[@Name='http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress']"
85-
)[ 1 ].xmlchildren[ 1 ].xmltext;
86+
);
87+
88+
if ( arrayLen( emailNodes ) > 0 ) {
89+
return emailNodes[ 1 ].xmlchildren[ 1 ].xmltext;
90+
}
91+
92+
var nameNodes = xmlSearch(
93+
xmlDoc,
94+
"//Attribute[@Name='http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name']"
95+
);
96+
if ( arrayLen( nameNodes ) > 0 ) {
97+
return nameNodes[ 1 ].xmlchildren[ 1 ].xmltext;
98+
}
99+
100+
return "";
86101
}
87102

88103
private string function extractUserId( required xmlDoc ){

0 commit comments

Comments
 (0)