From f4f7530a2fd76508f0dac33a441c933cb863e952 Mon Sep 17 00:00:00 2001 From: Lei Nelissen Date: Wed, 17 Jun 2020 15:21:24 +0200 Subject: [PATCH] Properly check for returned credentials --- .../components/CredentialGenerator.tsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/screens/modals/SetJellyfinServer/components/CredentialGenerator.tsx b/src/screens/modals/SetJellyfinServer/components/CredentialGenerator.tsx index 9d56ea7..c0ad2cd 100644 --- a/src/screens/modals/SetJellyfinServer/components/CredentialGenerator.tsx +++ b/src/screens/modals/SetJellyfinServer/components/CredentialGenerator.tsx @@ -30,12 +30,23 @@ class CredentialGenerator extends Component { handleMessage = (event: WebViewMessageEvent) => { // GUARD: Something must be returned for this thing to work + console.log(event.nativeEvent.data); if (!event.nativeEvent.data) { return; } + // Parse the content + const data = JSON.parse(event.nativeEvent.data); + + if (!data.deviceId + || !data.credentials?.Servers?.length + || !data.credentials?.Servers[0]?.UserId + || !data.credentials?.Servers[0]?.AccessToken) { + return; + } + // If a message is received, the credentials should be there - const { credentials: { Servers: [ credentials ] }, deviceId } = JSON.parse(event.nativeEvent.data); + const { credentials: { Servers: [ credentials ] }, deviceId } = data; this.props.onCredentialsRetrieved({ uri: credentials.ManualAddress, user_id: credentials.UserId,