我尝试使用" authn"来验证用户身份。 API:
POST MYACCOUNT.oktapreview.com/api/v1/authn
{
"username": "email@gmail.com",
"password" : "Password123"
}
但这总是会返回
{
"errorCode": "E0000005",
"errorSummary": "Invalid session",
"errorLink": "E0000005",
"errorId": "oael83e1QQxSNuHOlE0VkqBuA",
"errorCauses": []
}
知道为什么会这样吗?
当我创建会话时,我只得到403 - Forbidden错误。
会话API有效,但我想使用authn API进行自定义登录体验。
感谢您的帮助。
答案 0 :(得分:6)
问题是因为Okta请求中的Authorization标头。
授权标题应为'授权:SSWS API_TOKEN' 相反,我只是发送'授权:API_TOKEN'
答案 1 :(得分:0)
我遇到了同样的403 - Forbidden
错误。
它在Fiddler中运行良好,但在我的脚本中没有(Powershell)
我使用的网址是http
,但资源实际上是https
。 Fiddler把我的标题信息移到了https网站。在Powershell中,我丢失了标题并得到了禁止的错误。
所以将网址更改为https
为我修复了它。
答案 2 :(得分:0)
如果您正在使用邮递员,请扩展@ paramesh的答案(因为它是100%正确的),我所做的是添加“授权:SSWS API_TOKEN'作为预设标题,然后在缺少时添加它。
在chrome的邮递员扩展中执行此操作: 1.点击标题'按钮远到右边 2.点击“管理预设”' 3.点击“添加' 4.填写信息(如果您已经导入了api test client instructions中的okta环境),那么它看起来像这样:SSWS {{apikey}} 5.检查其他方法的标题,如果没有授权标题,请通过单击“添加预设”来添加标题。按键 很抱歉,我没有足够的声誉对正确答案发表评论
答案 3 :(得分:0)
我的问题是我在预览环境中没有使用Okta预览网址。
https://${org}.okta.com/api/v1/users
应改为
https://${org}.oktapreview.com/api/v1/users