Как я могу повторно аутентифицировать пользователя, уже вошедшего в приложение Okta, используя Java?

У меня есть приложение, которое уже работает с Okta SAML, но у меня есть ситуация, требуемая FDA, что в определенном процессе мне нужно создать всплывающее окно с Java-кодом (я использую OKTA SAML Toolkit 2.0.5). ) и снова запросите у пользователя пароль и отправьте его в Okta для проверки.

Но я не уверен, какие инструменты использовать из набора инструментов. Не могли бы вы указать пример?

Приложение работает на WebSphere V9.

Спасибо.

Разве это не случай, когда вы берете информацию о пользователе из всплывающего окна и делаете запрос аутентификации против API Okta?

Gavin 08.06.2019 13:25

Вы пытались задать этот вопрос на форумах разработчиков Okta?

Gavin 08.06.2019 13:25

Спасибо, я изучу возможность подключения к Okta API, не знал об этой функции. Я новичок в этом :)

Xeqthr 11.06.2019 00:52

Привет, я изо всех сил пытался сделать вызов REST POST для конечной точки Okta, например, я пытался использовать эту функцию: Client client = Clients.builder() .setOrgUrl("мой URL.com") .setClientCredentials(new TokenClientCredentials( "SomeAPIkey")) .build(); И затем: client.authenticate("пользователь", "пароль", "RelayState", "stateHandler"); Из этого проекта: github.com/okta/okta-auth-java Но у меня большие проблемы с разрешением зависимостей в Eclipse. Есть ли более простой способ сделать это или другой Java-проект, который я мог бы использовать?

Xeqthr 08.07.2019 20:34

Какую ошибку вы получаете? Прошло некоторое время с тех пор, как я использовал Eclipse, поэтому я не могу дать конкретную помощь по этому поводу. Как вы импортируете библиотеку okta-auth-java в свой проект? Проще всего в этом случае использовать Maven или Gradle, инструкции по добавлению зависимости в ваш файл pom/build есть на странице. Я рассматривал Okta как часть учебника по Micronaut, поэтому мои знания довольно поверхностны.

Gavin 09.07.2019 10:30

Я скачал файл .zip, а также из нескольких проектов из github.com/okta и из каждого из них я извлек папки /com/okta/ и объединил их в одном месте, например: okta-auth-java-master \api\src \main\java\ com.okta.authn.sdk \impl\src\main\java\ com.okta.authn.sdk.impl okta-commons-java-master \config-check\src\main\java\ com. okta.commons.configcheck \lang\src\main\java\ com.okta.commons.lang И так далее. ZIP-файлы содержат файлы .java, а не файлы .jar. Но каждый раз, когда я добавляю файлы .java, некоторые зависимости исправляются, а новые отсутствуют.

Xeqthr 09.07.2019 19:06

Я пробовал использовать Maven: Import -> Maven -> Existing Maven Project -> Затем выберите корень pom.xml проекта. Но проект импортируется на том же уровне, что и в моем проекте. И я вижу, что только 2 или 3 файла включены после того, как проект был импортирован с помощью Maven, и ни один из них не был файлом Java (что бы исправить недостающие зависимости). Нет ошибок при импорте Maven.

Xeqthr 09.07.2019 19:10

Поэтому, если ваш проект является проектом maven, вам не нужно импортировать проект, просто добавьте зависимости (как описано в начале работы: здесь github.com/okta/okta-auth-java) в ваш файл pom. Если ваш проект не является проектом maven, вам нужно будет загрузить зависимости из центра maven и убедиться, что банки находятся на пути к классу.

Gavin 09.07.2019 19:24

Большое спасибо, Гэвин, я воссоздал проект как Maven, так как он не был должным образом преобразован в Maven, мой прежний проект (я очень новичок в Java). Я включил записи для okta-auth-java, и теперь файлы .jars включены правильно. Теперь функция, которую я хочу использовать, я не знаю, как передать последний параметр :( Метод аутентификации (String, char [], String, AuthenticationStateHandler) в типе AuthenticationClient не применим для аргументов (String, char [] , строка, строка)

Xeqthr 10.07.2019 01:04

Это было бы потому, что AuthenticationStateHandler не является String при просмотре ошибки, четвертый требуемый параметр - это String

Gavin 10.07.2019 10:41

Спасибо, Gavin, Нужно было реализовать интерфейс и передать его как параметр, опять узнал что-то новое. Спасибо за все.

Xeqthr 10.07.2019 23:27
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
11
100
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ответ Гэвина: Итак, если ваш проект является проектом maven, вам не нужно импортировать проект, просто добавьте зависимости (как описано в начале работы: здесь github.com/okta/okta-auth-java) в ваш файл pom. Если ваш проект не является проектом maven, вам нужно будет загрузить зависимости из центра maven и убедиться, что банки находятся на пути к классу.

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