Skip to content

Commit 0851e52

Browse files
authored
Added additionalParameters to TIMConfig / OIDAuthorizationResponse (#20)
* Added additionalParameters to TIMConfig / OIDAuthorizationResponse * additionalParameters, handle default values * Fixed bug (fejl-40)
1 parent 887eee9 commit 0851e52

File tree

3 files changed

+13
-7
lines changed

3 files changed

+13
-7
lines changed

Sources/TIM/AppAuth/AppAuthController.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public final class AppAuthController: OpenIDConnectController {
7777
scopes: credentials.scopes,
7878
redirectURL: credentials.redirectUri,
7979
responseType: OIDResponseTypeCode,
80-
additionalParameters: [:]
80+
additionalParameters: credentials.additionalParameters
8181
),
8282
parameters: [:])
8383
}
@@ -142,7 +142,7 @@ public final class AppAuthController: OpenIDConnectController {
142142
scopes: self.credentials.scopes,
143143
refreshToken: refreshToken.token,
144144
codeVerifier: nil,
145-
additionalParameters: nil
145+
additionalParameters: self.credentials.additionalParameters
146146
)
147147
OIDAuthorizationService.perform(request) { [weak self] (token: OIDTokenResponse?, error: Error?) in
148148
let result: Result<JWT, TIMAuthError>
@@ -254,7 +254,7 @@ public final class AppAuthController: OpenIDConnectController {
254254
codeVerifier: nil,
255255
codeChallenge: nil,
256256
codeChallengeMethod: nil,
257-
additionalParameters: [:]
257+
additionalParameters: self.credentials.additionalParameters
258258
)
259259
} else {
260260
return OIDAuthorizationRequest(
@@ -263,7 +263,7 @@ public final class AppAuthController: OpenIDConnectController {
263263
scopes: self.credentials.scopes,
264264
redirectURL: self.credentials.redirectUri,
265265
responseType: OIDResponseTypeCode,
266-
additionalParameters: [:]
266+
additionalParameters: self.credentials.additionalParameters
267267
)
268268
}
269269
}

Sources/TIM/Models/TIMConfiguration.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,16 @@ public struct TIMConfiguration {
2222
/// - scopes: Scopes, e.g. `["scope"]`
2323
/// - encryptionMethod: Encryption method, e.g. `.aesGcm`
2424
/// - keyServiceVersion: Optional key service version, defaults to `.v1`
25-
public init(timBaseUrl: URL, realm: String, clientId: String, redirectUri: URL, scopes: [String], encryptionMethod: TIMESEncryptionMethod, keyServiceVersion: TIMKeyServiceVersion = .v1) {
25+
/// - additionalParameters: Optional additional parameters, for e.g. app-switch `[:]`
26+
public init(timBaseUrl: URL, realm: String, clientId: String, redirectUri: URL, scopes: [String], encryptionMethod: TIMESEncryptionMethod, keyServiceVersion: TIMKeyServiceVersion = .v1, additionalParameters: [String: String] = [:]) {
2627

2728
let fullTimUrl = timBaseUrl.appendingPathComponent("/auth/realms/\(realm)")
2829
self.oidcConfiguration = TIMOpenIDConfiguration(
2930
issuer: fullTimUrl,
3031
clientId: clientId,
3132
redirectUri: redirectUri,
32-
scopes: scopes
33+
scopes: scopes,
34+
additionalParameters: additionalParameters
3335
)
3436
self.keyServiceConfiguration = TIMKeyServiceConfiguration(realmBaseUrl: fullTimUrl.absoluteString, version: keyServiceVersion)
3537
self.encryptionMethod = encryptionMethod

Sources/TIM/Models/TIMOpenIDConfiguration.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,16 @@ public struct TIMOpenIDConfiguration {
1414

1515
/// Scopes
1616
public let scopes: [String]
17+
18+
/// Scopes
19+
public let additionalParameters: [String: String]
1720

1821
/// Constructor
19-
public init(issuer: URL, clientId: String, redirectUri: URL, scopes: [String]) {
22+
public init(issuer: URL, clientId: String, redirectUri: URL, scopes: [String], additionalParameters: [String: String] = [:]) {
2023
self.issuer = issuer
2124
self.clientId = clientId
2225
self.redirectUri = redirectUri
2326
self.scopes = scopes
27+
self.additionalParameters = additionalParameters
2428
}
2529
}

0 commit comments

Comments
 (0)