From 82c05d938d4369e8b7c17752d8994a1b0f51b916 Mon Sep 17 00:00:00 2001 From: Barry de Graaff Date: Tue, 8 Sep 2020 18:05:34 +0200 Subject: [PATCH] fix NullPointerException in refactored code at com.zimbra.oauth.token.handlers.impl.NextCloudTokenHandler.refreshAccessToken(NextCloudTokenHandler.java:84) Update NextCloudTokenHandler.java --- .../oauth/token/handlers/impl/NextCloudTokenHandler.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/java/com/zimbra/oauth/token/handlers/impl/NextCloudTokenHandler.java b/src/java/com/zimbra/oauth/token/handlers/impl/NextCloudTokenHandler.java index 6df7a5f..48e71b2 100644 --- a/src/java/com/zimbra/oauth/token/handlers/impl/NextCloudTokenHandler.java +++ b/src/java/com/zimbra/oauth/token/handlers/impl/NextCloudTokenHandler.java @@ -80,8 +80,13 @@ public static String refreshAccessToken(Account acct, String client) throws Serv String redirecUri = value.substring(0, value.lastIndexOf(":")); final String clientRedirectUri = redirecUri; - value = LdapOauthHelper.getFirstConfig(Provisioning.A_zimbraOAuthConsumerAPIScope,client, acct); - String nextCloudUrl =value.substring(0, value.lastIndexOf(":")); + String nextCloudUrl = null; + value = LdapOauthHelper.getFirstConfig(Provisioning.A_zimbraOAuthConsumerAPIScope, client + "_noop", acct); + try { + nextCloudUrl = value.substring(0, value.lastIndexOf(":")); + } catch (Exception e) { + throw ServiceException.FAILURE("Failed to get nextCloudUrl from zimbraOAuthConsumerAPIScope", null); + } if (StringUtil.isNullOrEmpty(clientId) || StringUtil.isNullOrEmpty(clientSecret) || StringUtil.isNullOrEmpty(clientRedirectUri)) {