@RequestMapping(value = "/smartsheet.htm", method= RequestMethod.GET)
public void smartSheetAuth(HttpServletRequest req,HttpServletResponse resp,HttpSession session){
String userEmail = ************;
StringBuilder authUrl = new StringBuilder();
authUrl.append("https://app.smartsheet.com/b/orgsso/");
authUrl.append(gPlusUser.getDomain());
/*
authUrl.append("?loginEmail=");
authUrl.append(userEmail);*/
oauth = new OAuthFlowBuilder()
.setAuthorizationURL(authUrl.toString())
.setClientId(EnvironmentVariables.SMARTSHEET_CLIENT_ID)
.setClientSecret(EnvironmentVariables.SMARTSHEET_CLIENT_SECRET)
.setRedirectURL(APPLICATION_BASE_URL + RequestMapping value to be redirected to)
.build();
EnumSet<AccessScope> smartsheetAccessScopes = EnumSet.of(AccessScope.READ_SHEETS,AccessScope.SHARE_SHEETS);
String url = oauth.newAuthorizationURL(smartsheetAccessScopes, "MY_STATE");
System.out.println("url >>>"+url);
resp.sendRedirect(url);
}
То, что я пытаюсь сделать, это организационный вход. Но после проверки подлинности вместо перехода на URL-адрес перенаправления, указанный в OAuthFlowBuilder, он приведет меня на мою домашнюю страницу smartsheet. Если я не установленAuthorizationURL(), я должен выбрать Oraganization Login из параметров. Это работает, но я пытаюсь получить доступ непосредственно к странице входа в систему SSO вместо того, чтобы нажимать кнопку входа в систему, а затем идти дальше.Ошибка перенаправления на определенную страницу после Smartsheet Auth
Я сделал приложение, используя опцию инструментов разработчика smartsheet и упомянул тот же URL-адрес перенаправления. Ничто не работает.
Now redirect url is optional, но если не указать, что мне было предложено исключить IllegalStateException.
Использование Smartsheet-СДК-Java-2.0.0.jar
Он работает с [DEFAULT_AUTHORIZATION_URL] (https://github.com/smartsheet-platform/smartsheet-java-sdk/blob/master/src/main/java/com/smartsheet/api/oauth/OAuthFlowBuilder.java). Но OAuthFlowBuilder дает метод setter «setAuthorizationURL()», чтобы установить его на другой URL-адрес. Таким образом, по умолчанию он работает, но пользователь должен нажать кнопку «Войти в систему», чтобы перейти на страницу входа в систему единого входа. Я хочу вариант, когда вы можете как-то напрямую перенаправить пользователя на страницу единого входа, учитывая, что письмо предоставляется приложением. – akgaur
Также после прочтения документации я не смог найти способ перечислить соавторы листа. Есть метод, который я пропустил. – akgaur
Да, я понимаю, что вы пытаетесь добиться - но это невозможно. В настоящее время существует только одно допустимое значение для URL-адреса авторизации (https://app.smartsheet.com/b/authorize) - то есть, используя SDK, вы должны использовать DEFAULT_AUTHORIZATION_URL - вы не можете установить его на какое-либо другое значение. (Не знаю, почему OAuthFlowBuilder предоставляет метод setter «setAuthorizationURL()» - это может быть непреднамеренно включено в SDK.) –