gpt4 book ai didi

javascript - 无法在 okta POST/ session API 调用中使用 SessionToken 创建 session

转载 作者:行者123 更新时间:2023-11-30 15:45:48 27 4
gpt4 key购买 nike

我能够使用用户名和密码获取 sessionToken。但是,之后我想在 AngularJS 中使用 POST 调用创建 session ,如下所示。 Angular(整个 Web 应用程序)托管在 AWS S3 上。

var session_data = { 'sessionToken' : My_session_Token}; 
$http({
method: 'POST',
url: 'https://myorg.okta.com/api/v1/sessions',
data: session_data,
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
}
}).then(function(response) {
console.log(response);
});

我得到的错误是

XMLHttpRequest cannot load https://myorg.okta.com/api/v1/sessions. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://s3.amazonaws.com' is therefore not allowed access.

我已经在 Okta 和 S3 存储桶中添加了 CORS Allow origin header 。

当我尝试通过终端执行以下操作时

curl -v -X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"sessionToken": "my_session_Token"
}' "https://myorg.okta.com/api/v1/sessions"

我第一次得到

{"errorCode":"E0000005","errorSummary":"Invalid session","errorLink":"E0000005","errorId":"oaefADOnPONTDidUZYyrVc5rQ","errorCauses":[]}MAC-S014568:~

第二次,因为 sessionToken 是一次性的,我得到以下错误

{"errorCode":"E0000004","errorSummary":"Authentication failed","errorLink":"E0000004","errorId":"oaeI-KKSO-iRGSR1gmyUjBS8g","errorCauses":[]}MAC-S01

我不认为问题是因为 CORS header (允许来源),因为我已经添加了来源。此外,我不能使用 SSWS {api_TOKEN},因为我的应用程序是 Angular ,并且暴露 api token 有风险。任何帮助将不胜感激

最佳答案

Okta 不支持发送到/api/v1/sessions 以在浏览器中设置 cookie。对于一个简单的用例,您可以使用重定向流程:

window.location = 'https://myorg.okta.com/login/sessionCookieRedirect?token={sessionToken}&redirectUrl={redirectUrl}';

此处列出了所有允许使用 sessionToken 设置 cookie 的方法:http://developer.okta.com/use_cases/authentication/session_cookie

关于javascript - 无法在 okta POST/ session API 调用中使用 SessionToken 创建 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40089728/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com