Ошибка перенаправления на конкретную страницу после Smartsheet Auth

   @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 из опций. Это вроде как работает, но я пытаюсь достичь прямого входа на страницу входа в систему единого входа вместо того, чтобы щелкнуть опцию входа в организацию и затем идти дальше.

Я сделал приложение с помощью опции инструментов разработчика smartsheet и упомянул там тот же URL перенаправления. Ничто не похоже на работу.

Теперь URL-адрес перенаправления не является обязательным, но если не указать, что мне предлагается IllegalStateException.

Использование smartsheet-sdk-java-2.0.0.jar

1 ответ

Поток, которого вы пытаетесь достичь, невозможен. т.е. https://app.smartsheet.com/b/orgsso/ недопустимый URL авторизации для Smartsheet oAuth.

Вместо этого (как описано в документации Smartsheet oAuth), вы должны использовать этот URL: https://app.smartsheet.com/b/authorize, Оттуда пользователь может выбрать соответствующую опцию, чтобы указать, как он хотел бы войти в систему.

Другие вопросы по тегам