Updated on 2026-08-14

This commit is contained in:
Tangem 2023-06-26 19:37:57 +03:00
parent 407337ed00
commit 144876bd4b
12 changed files with 79 additions and 49 deletions

View file

@ -0,0 +1,16 @@
package com.tangem.tap.network.auth
import com.tangem.common.extensions.toHexString
import com.tangem.lib.auth.LazyAuthProvider
import com.tangem.tap.proxy.AppStateHolder
class LazyAuthProviderImpl(private val appStateHolder: AppStateHolder) : LazyAuthProvider {
override fun getCardPublicKeyProvider(): () -> String {
return { appStateHolder.getActualCard()?.cardPublicKey?.toHexString() ?: "" }
}
override fun getCardIdProvider(): () -> String {
return { appStateHolder.getActualCard()?.cardId ?: "" }
}
}

View file

@ -1,12 +0,0 @@
package com.tangem.tap.network.auth
import com.tangem.lib.auth.BasicAuthProvider
class TangemBasicAuthProvider(private val credentials: String?) : BasicAuthProvider {
override fun getCredentials(): Map<String, String> = if (credentials == null) {
mapOf()
} else {
mapOf("Authorization" to "Basic $credentials")
}
}

View file

@ -1,10 +1,9 @@
package com.tangem.tap.network.auth.di
import com.tangem.datasource.config.ConfigManager
import com.tangem.lib.auth.AuthProvider
import com.tangem.lib.auth.BasicAuthProvider
import com.tangem.lib.auth.LazyAuthProvider
import com.tangem.tap.network.auth.AuthProviderImpl
import com.tangem.tap.network.auth.TangemBasicAuthProvider
import com.tangem.tap.network.auth.LazyAuthProviderImpl
import com.tangem.tap.proxy.AppStateHolder
import dagger.Module
import dagger.Provides
@ -24,7 +23,7 @@ class AuthModule {
@Provides
@Singleton
fun provideTangemBasicAuthProvider(configManager: ConfigManager): BasicAuthProvider {
return TangemBasicAuthProvider(configManager.config.tangemComAuthorization)
fun provideLazyAuthProvider(appStateHolder: AppStateHolder): LazyAuthProvider {
return LazyAuthProviderImpl(appStateHolder)
}
}