Okta Session API недавно изменился?

В нашем приложении мы использовали «Создать сеанс с учетными данными» (который помечен как устаревший), который в основном выглядит так:

POST {{url}}/api/v1/sessions

с телом:

{
"username": "{{username}}",
"password": "{{password}}"
}

Это возвращает идентификатор, который мы затем используем в вызове Validate Session каждый раз, когда пользователь посещает другую страницу:

GET {{url}}/api/v1/sessions/{{sessionId}}

Раньше это работало, но примерно в 2015-12-15 перестало работать.

Теперь я получаю сообщение об ошибке, например:

{
"errorCode": "E0000006",
"errorSummary": "You do not have permission to perform the requested action",
"errorLink": "E0000006",
"errorId": "oaee2frg7mCRGyp3TE9tgE0Gg",
"errorCauses": []
}

Первоначально мы думали, что это связано с MFA, но мой администратор удалил меня из группы AD, для которой требуется MFA, и у нас все еще есть проблемы.

Таким образом, он создает сеанс с моими кредитами (и завершается ошибкой, если мой пароль неверен), но проверка сеанса завершается неудачно. Я тестировал это с POSTMAN.

Есть идеи, что изменилось? Используем ли мы это неправильно?


person runamok    schedule 19.12.2015    source источник


Ответы (1)


У меня не получается воспроизвести ошибку.

Тем не менее, мы отказываемся от использования /sessions для аутентификации (отсюда и устаревание, как вы упомянули). Вы должны использовать /authn (http://developer.okta.com/docs/api/resources/authn.html#authentication-operations) для аутентификации пользователя с помощью имени пользователя и пароля. Вы не получите сеанс, созданный сразу, как раньше с /sessions. Вместо этого вы получите токен сеанса, который затем сможете использовать для создания сеанса с помощью /sessions (http://developer.okta.com/docs/api/resources/sessions.html#create-session-with-session-token)

Преимущество этого нового потока (кроме лучшего использования /authn и /sessions) заключается в том, что для этого вам не нужен ключ API. Только действительный набор кредитов даст вам одноразовый и недолговечный токен сеанса, который затем сразу же используется для создания сеанса.

person Stephen Lee    schedule 29.12.2015