无法在okta POST /sessions API调用中使用SessionToken创建会话
Unable to create session using SessionToken in okta POST /sessions API call
我能够使用用户名和密码获得sessionToken。但是,在那之后,我想在AngularJS中使用POST调用创建会话,如下所示。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允许起源头。
当我尝试通过终端
执行以下操作时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头(允许原点),因为我已经添加了原点。此外,我不能使用SSWS {api_TOKEN},因为我的应用程序在angular中,暴露api令牌是有风险的。
Okta不支持post到/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
相关文章:
- Flash Uploadify在调用我的MVC控制器时没有保留会话/授权
- 验证会话中是否存在对象's数组
- 通过javascript从会话中提取用户名
- 将会话变量从一个页面传递到另一个页面
- 如何保持会话的活力
- Codeigniter会话概念简要说明
- Php未获取会话的最新值
- 当达到codeigniter/tank auth会话超时时,在ajax调用中处理php重定向
- 如何检测用户是否在同一会话中打开了多个窗口或选项卡
- PHP会话页面刷新不起作用
- 有可能通过sessionID获得快速会话吗
- 让会话值可用于JavaScript的好方法是什么
- DreamFactory REST API POST休息/用户/会话请求总是在IE9中返回错误
- '会话'未定义-会话存储的Este JS/Express/Redis
- 如何使用 php 会话变量作为 Angular Js 数据
- jquery中设置的会话无法进入php
- 通过Javascript更改PHP会话变量
- 正在Javascript响应中设置会话变量
- 当会话存储阵列中存在大量元素时,如何从中删除元素
- 无法在okta POST /sessions API调用中使用SessionToken创建会话