Skip to content

Commit 6a5526d

Browse files
committed
fix: prefetch crash
it was possible that the issuer could be an empty string ('') which would indeed cause the app to crash, since our `invariant` check missed that. fixes #478
1 parent 8d2f1e7 commit 6a5526d

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

packages/react-native-app-auth/index.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,34 @@ import base64 from 'react-native-base64';
44

55
const { RNAppAuth } = NativeModules;
66

7+
const validateIssuer = issuer => invariant(issuer, 'Config error: issuer must be present');
78
const validateIssuerOrServiceConfigurationEndpoints = (issuer, serviceConfiguration) =>
89
invariant(
9-
typeof issuer === 'string' ||
10+
validateIssuer(issuer) ||
11+
typeof issuer === 'string' ||
1012
(serviceConfiguration &&
1113
typeof serviceConfiguration.authorizationEndpoint === 'string' &&
1214
typeof serviceConfiguration.tokenEndpoint === 'string'),
1315
'Config error: you must provide either an issuer or a service endpoints'
1416
);
1517
const validateIssuerOrServiceConfigurationRegistrationEndpoint = (issuer, serviceConfiguration) =>
1618
invariant(
17-
typeof issuer === 'string' ||
19+
validateIssuer(issuer) ||
20+
typeof issuer === 'string' ||
1821
(serviceConfiguration && typeof serviceConfiguration.registrationEndpoint === 'string'),
1922
'Config error: you must provide either an issuer or a registration endpoint'
2023
);
2124
const validateIssuerOrServiceConfigurationRevocationEndpoint = (issuer, serviceConfiguration) =>
2225
invariant(
23-
typeof issuer === 'string' ||
26+
validateIssuer(issuer) ||
27+
typeof issuer === 'string' ||
2428
(serviceConfiguration && typeof serviceConfiguration.revocationEndpoint === 'string'),
2529
'Config error: you must provide either an issuer or a revocation endpoint'
2630
);
2731
const validateIssuerOrServiceConfigurationEndSessionEndpoint = (issuer, serviceConfiguration) =>
2832
invariant(
29-
typeof issuer === 'string' ||
33+
validateIssuer(issuer) ||
34+
typeof issuer === 'string' ||
3035
(serviceConfiguration && typeof serviceConfiguration.endSessionEndpoint === 'string'),
3136
'Config error: you must provide either an issuer or an end session endpoint'
3237
);

0 commit comments

Comments
 (0)