fix: avbryt bankid-inloggning (#209)

"Avbryt BankID-inloggning" stängde endast modalen men avbröt inte requestet. Efter den här fixen så avbryt BankID-requestet som det borde.
This commit is contained in:
Andreas Kjellqvist 2021-03-26 07:14:29 +01:00 committed by GitHub
parent 119973425e
commit 4732de0819
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 7 deletions

View File

@ -32,6 +32,7 @@ const { width } = Dimensions.get('window')
export const Login = ({ navigation }) => {
const { api, isLoggedIn } = useApi()
const [cancelLoginRequest, setCancelLoginRequest] = useState(() => () => null)
const [visible, showModal] = useState(false)
const [error, setError] = useState(null)
const [cachedSsn, setCachedSsn] = useAsyncStorage('socialSecurityNumber', '')
@ -124,17 +125,16 @@ export const Login = ({ navigation }) => {
setCachedSsn(ssn)
setSocialSecurityNumber(ssn)
const status = await api.login(ssn)
setCancelLoginRequest(() => () => status.cancel())
if (status.token !== 'fake' && loginMethodIndex === 0) {
openBankId(status.token)
}
status.on('PENDING', () => console.log('BankID app not yet opened'))
status.on('USER_SIGN', () => console.log('BankID app is open'))
status.on(
'ERROR',
() =>
setError('Inloggningen misslyckades, försök igen!') &&
showModal(false)
)
status.on('ERROR', () => {
setError('Inloggningen misslyckades, försök igen!')
showModal(false)
})
status.on('OK', () => console.log('BankID ok'))
} else {
await api.login('201212121212')
@ -199,7 +199,13 @@ export const Login = ({ navigation }) => {
<Card disabled>
<Text style={styles.bankIdLoading}>Väntar BankID...</Text>
<Button visible={!isLoggedIn} onPress={() => showModal(false)}>
<Button
visible={!isLoggedIn}
onPress={() => {
cancelLoginRequest()
showModal(false)
}}
>
Avbryt
</Button>
</Card>