在我们的应用程序中,我们一直在使用“使用凭证创建会话”(标记为已弃用),其基本上如下所示:
POST {{url}}/api/v1/sessions
身体:
{
"username": "{{username}}",
"password": "{{password}}"
}
这会返回一个id,我们会在用户访问另一个页面时在Validate Session调用中使用该ID:
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测试这个。
知道改变了什么?我们使用不正确吗?
答案 0 :(得分: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密钥。只有一组有效的信用证才能获得一次性和短期会话令牌 - 然后立即用于创建会话。