1

在我们的应用程序中,我们一直在使用“使用凭据创建会话”(标记为已弃用),它基本上看起来像:

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

与身体:

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

这将返回一个 id,然后我们在用户访问另一个页面时在 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 相关,但我的管理员将我从需要 MFA 的 AD 组中删除,但我们仍然遇到问题。

因此,它使用我的凭据创建会话(如果我的密码错误,则失败),但会话验证失败。我一直在用 POSTMAN 测试这个。

知道发生了什么变化吗?我们是否错误地使用了它?

4

1 回答 1

2

我无法重现该错误。

也就是说,我们正在远离使用 /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 密钥。只有一组有效的凭据才能为您提供一次性且短暂的会话令牌 - 然后立即用于创建会话。

于 2015-12-29T02:01:18.313 回答