Skip to content

Commit 41988d9

Browse files
committed
fix: refactor parameter handling in _getToken_SignedIn and _getToken_Service functions for improved clarity and maintainability
1 parent 16ec00a commit 41988d9

File tree

1 file changed

+35
-35
lines changed

1 file changed

+35
-35
lines changed

Project/Sources/Classes/OAuth2Provider.4dm

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -478,21 +478,21 @@ Function _getAuthorizationCode() : Text
478478
Function _getToken_SignedIn($bUseRefreshToken : Boolean) : Object
479479

480480
var $result : Object:=Null
481-
var $params : Text
481+
var $params : cs.URL:=cs.URL.new()
482482
var $bSendRequest : Boolean:=True
483483
If ($bUseRefreshToken)
484-
485-
$params:="client_id="+This.clientId
484+
485+
$params.addQueryParameter("client_id"; This.clientId)
486486
If (Length(This.scope)>0)
487-
$params+="&scope="+cs.Tools.me.urlEncode(This.scope)
488-
End if
489-
$params+="&refresh_token="+This.token.refresh_token
490-
$params+="&grant_type=refresh_token"
487+
$params.addQueryParameter("scope"; cs.Tools.me.urlEncode(This.scope))
488+
End if
489+
$params.addQueryParameter("refresh_token"; This.token.refresh_token)
490+
$params.addQueryParameter("grant_type"; "refresh_token")
491491
If (Length(This.clientSecret)>0)
492-
$params+="&client_secret="+This.clientSecret
493-
End if
494-
495-
Else
492+
$params.addQueryParameter("client_secret"; This.clientSecret)
493+
End if
494+
495+
Else
496496

497497
If (Length(String(This.redirectURI))>0)
498498

@@ -528,19 +528,19 @@ Function _getToken_SignedIn($bUseRefreshToken : Boolean) : Object
528528
var $authorizationCode : Text:=This._getAuthorizationCode()
529529

530530
If (Length($authorizationCode)>0)
531-
532-
$params:="client_id="+This.clientId
533-
$params+="&grant_type=authorization_code"
534-
$params+="&code="+$authorizationCode
535-
$params+="&redirect_uri="+cs.Tools.me.urlEncode(This.redirectURI)
531+
532+
$params.addQueryParameter("client_id"; This.clientId)
533+
$params.addQueryParameter("grant_type"; "authorization_code")
534+
$params.addQueryParameter("code"; $authorizationCode)
535+
$params.addQueryParameter("redirect_uri"; cs.Tools.me.urlEncode(This.redirectURI))
536536
If (This.PKCEEnabled)
537-
$params+="&code_verifier="+This.codeVerifier
537+
$params.addQueryParameter("code_verifier"; This.codeVerifier)
538538
End if
539539
If (Length(This.clientSecret)>0)
540-
$params+="&client_secret="+This.clientSecret
540+
$params.addQueryParameter("client_secret"; This.clientSecret)
541541
End if
542-
$params+="&scope="+cs.Tools.me.urlEncode(This.scope)
543-
542+
$params.addQueryParameter("scope"; cs.Tools.me.urlEncode(This.scope))
543+
544544
Else
545545

546546
$bSendRequest:=False
@@ -560,7 +560,7 @@ Function _getToken_SignedIn($bUseRefreshToken : Boolean) : Object
560560

561561
If ($bSendRequest)
562562

563-
$result:=This._sendTokenRequest($params)
563+
$result:=This._sendTokenRequest($params.query)
564564

565565
End if
566566

@@ -573,7 +573,7 @@ Function _getToken_SignedIn($bUseRefreshToken : Boolean) : Object
573573
Function _getToken_Service() : Object
574574

575575
var $result : Object:=Null
576-
var $params : Text
576+
var $params : cs.URL:=cs.URL.new()
577577
var $jwt : cs.JWT
578578
var $options : Object
579579
var $bearer : Text
@@ -597,8 +597,8 @@ Function _getToken_Service() : Object
597597
$jwt:=cs.JWT.new($options)
598598
$bearer:=$jwt.generate()
599599

600-
$params:="grant_type="+cs.Tools.me.urlEncode(This.grantType)
601-
$params+="&assertion="+$bearer
600+
$params.addQueryParameter("grant_type"; cs.Tools.me.urlEncode(This.grantType))
601+
$params.addQueryParameter("assertion"; $bearer)
602602

603603
: (This._useJWTBearerAssertionType())
604604
// See documentation of https://learn.microsoft.com/en-us/entra/identity-platform/certificate-credentials
@@ -618,24 +618,24 @@ Function _getToken_Service() : Object
618618
$bearer:=$jwt.generate()
619619

620620
// See documentation of https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-client-creds-grant-flow#second-case-access-token-request-with-a-certificate
621-
$params:="grant_type="+This.grantType
622-
$params+="&client_id="+This.clientId
623-
$params+="&scope="+cs.Tools.me.urlEncode(This.scope)
624-
$params+="&client_assertion_type="+cs.Tools.me.urlEncode(This.clientAssertionType)
625-
$params+="&client_assertion="+$bearer
621+
$params.addQueryParameter("grant_type"; This.grantType)
622+
$params.addQueryParameter("client_id"; This.clientId)
623+
$params.addQueryParameter("scope"; cs.Tools.me.urlEncode(This.scope))
624+
$params.addQueryParameter("client_assertion_type"; cs.Tools.me.urlEncode(This.clientAssertionType))
625+
$params.addQueryParameter("client_assertion"; $bearer)
626626

627627
Else
628-
629-
$params:="client_id="+This.clientId
628+
629+
$params.addQueryParameter("client_id"; This.clientId)
630630
If (Length(This.scope)>0)
631-
$params+="&scope="+cs.Tools.me.urlEncode(This.scope)
631+
$params.addQueryParameter("scope"; cs.Tools.me.urlEncode(This.scope))
632632
End if
633-
$params+="&client_secret="+This.clientSecret
634-
$params+="&grant_type="+This.grantType
633+
$params.addQueryParameter("client_secret"; This.clientSecret)
634+
$params.addQueryParameter("grant_type"; This.grantType)
635635

636636
End case
637637

638-
$result:=This._sendTokenRequest($params)
638+
$result:=This._sendTokenRequest($params.query)
639639

640640
return $result
641641

0 commit comments

Comments
 (0)