Added getTanMediaList() to retrieveBasicDataLikeUsersTanMethods() as may for other calls like getTransactions() this is a requirement to be able to establish strong authentication dialog (only known bank till now: Postbank)

This commit is contained in:
dankito 2021-10-31 16:16:47 +01:00
parent cb25a2294a
commit 1356249621
2 changed files with 10 additions and 8 deletions

View File

@ -76,14 +76,8 @@ open class FinTsClient(
/* Second dialog: some banks require that in order to initialize a dialog with strong customer authorization TAN media is required */ /* Second dialog: some banks require that in order to initialize a dialog with strong customer authorization TAN media is required */
if (jobExecutor.isJobSupported(bank, CustomerSegmentId.TanMediaList)) {
getTanMediaList(bank, TanMedienArtVersion.Alle, TanMediumKlasse.AlleMedien) {
addAccountGetAccountsAndTransactions(parameter, bank, callback) addAccountGetAccountsAndTransactions(parameter, bank, callback)
} }
} else {
addAccountGetAccountsAndTransactions(parameter, bank, callback)
}
}
} }
protected open fun addAccountGetAccountsAndTransactions(parameter: AddAccountParameter, bank: BankData, protected open fun addAccountGetAccountsAndTransactions(parameter: AddAccountParameter, bank: BankData,

View File

@ -115,7 +115,15 @@ open class FinTsJobExecutor(
callback(BankResponse(false, noTanMethodSelected = true)) callback(BankResponse(false, noTanMethodSelected = true))
} else { } else {
getUsersTanMethod(bank) { getUsersTanMethod(bank) {
callback(BankResponse(bank.isTanMethodSelected, noTanMethodSelected = !!!bank.isTanMethodSelected)) if (bank.isTanMethodSelected == false) {
callback(BankResponse(false, noTanMethodSelected = true))
} else if (bank.tanMedia.isEmpty() && isJobSupported(bank, CustomerSegmentId.TanMediaList)) { // tan media not retrieved yet
getTanMediaList(bank, TanMedienArtVersion.Alle, TanMediumKlasse.AlleMedien) {
callback(getTanMethodsResponse) // TODO: judge if bank requires selecting TAN media and if though evaluate getTanMediaListResponse
}
} else {
callback(getTanMethodsResponse)
}
} }
} }
} }