fix(model-client): tokens generated for one repository where used for…#2450
fix(model-client): tokens generated for one repository where used for…#2450
Conversation
a22b75f to
7c84bd2
Compare
Test Results 249 files 249 suites 50m 19s ⏱️ Results for commit 6615c2b. ♻️ This comment has been updated with latest results. |
… all JWT tokens can have permission only for the repository they were generated for. But the client wasn't able to manage multiple tokens for different repositories.
7c84bd2 to
6615c2b
Compare
JVM coverage report
|
| package org.modelix.model.client2 | ||
|
|
||
| internal actual interface Closable : java.io.Closeable { | ||
| actual interface Closable : java.io.Closeable { |
Check warning
Code scanning / detekt
Closable is missing required documentation. Warning
| private val httpTransport: HttpTransport = NetHttpTransport() | ||
| private val jsonFactory: JsonFactory = GsonFactory() | ||
| private var lastCredentials: Credential? = null | ||
| private var lastCredentials = HashMap<TokenCacheKey, Credential>() |
Check warning
Code scanning / detekt
Variable lastCredentials is declared as var with a mutable type java.util.HashMap. Consider using val or an immutable collection or value type Warning
| private val httpTransport: HttpTransport = NetHttpTransport() | ||
| private val jsonFactory: JsonFactory = GsonFactory() | ||
| private var lastCredentials: Credential? = null | ||
| private var lastCredentials = HashMap<TokenCacheKey, Credential>() |
Check warning
Code scanning / detekt
Variable 'lastCredentials' could be val. Warning
| fun getTokens(): Credential? { | ||
| return lastCredentials?.takeIf { !it.isExpired() } | ||
| @Synchronized | ||
| fun getTokens(config: OAuthConfig): Credential? { |
Check warning
Code scanning / detekt
The function getTokens is missing documentation. Warning
| suspend fun getAndMaybeRefreshTokens(): Credential? { | ||
| return lastCredentials?.refreshIfExpired() | ||
| @Synchronized | ||
| fun getAndMaybeRefreshTokens(config: OAuthConfig): Credential? { |
Check warning
Code scanning / detekt
The function getAndMaybeRefreshTokens is missing documentation. Warning
| repositoryId?.let { repository -> | ||
| ModelServerPermissionSchema.repository(repository).write.fullId | ||
| }, | ||
| branchName?.let { branchName -> |
Check warning
Code scanning / detekt
Name shadowed: branchName Warning test
| interface IServerConnection : Closeable { | ||
| @Deprecated("Provide an ITokenProvider") | ||
| fun setTokenProvider(tokenProvider: (suspend () -> String?)) | ||
| fun setTokenProvider(tokenProvider: ITokenProvider) |
Check warning
Code scanning / detekt
The function setTokenProvider is missing documentation. Warning
… all
JWT tokens can have permission only for the repository they were generated for. But the client wasn't able to manage multiple tokens for different repositories.