首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Okta登录Wudget获取用户SessionID

从Okta登录Wudget获取用户SessionID
EN

Stack Overflow用户
提问于 2016-12-26 06:47:07
回答 1查看 995关注 0票数 0

因此,我使用Okta登录小部件对内部WebApp的用户进行身份验证。

然而,我正在为如何从创建的会话中获取sessionID而苦苦挣扎,这些会话存储在我的域的cookie中,或者在响应中回发,然后保存,这样以后就可以使用它对该用户会话执行操作(例如注销)。我的JavaScript能力很差,但我正在努力学习。请看下面我的代码登录页面。如果有人能帮助我如何才能从登录的反应得到sessionID然后被使用,将不胜感激。

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
<?php echo $MetaData['charset']."\n";?>
<?php echo $MetaData['viewport']."\n";?>
<?php echo $MetaData['description']."\n";?>
<?php echo $MetaData['author']."\n";?>
<?php echo $MetaData['title']."\n";?>

<link rel="shortcut icon" href="">
<script src="https://ok1static.oktacdn.com/assets/js/sdk/okta-signin-widget/1.7.0/js/okta-sign-in.min.js" type="text/javascript"></script>
<link href="https://ok1static.oktacdn.com/assets/js/sdk/okta-signin-widget/1.7.0/css/okta-sign-in.min.css" type="text/css" rel="stylesheet">
<link href="https://ok1static.oktacdn.com/assets/js/sdk/okta-signin-widget/1.7.0/css/okta-theme.css" type="text/css" rel="stylesheet">
<link href="<?php echo base_url().'assets/css/custom.css' ?>"type="text/css" rel="stylesheet">
</head>
<body style="background-color:#f5f5f5;">
	<div id="okta-login-container"></div>
	<script type="text/javascript">
		var orgUrl = '<?php echo $OktaInstanceConfig['OktaInstanceURL'];?>';
    var redirectUrl = '<?php echo base_url().'index.php/Dashboard' ?>';
    var oktaSignIn = new OktaSignIn({
			baseUrl: orgUrl,
			logo: '<?php echo base_url()."assets/images/".$CompanyConfig["CompanyName"]."/logo.svg"?>',
			authParams: {
	 responseType: 'id_token',
	 responseMode: 'okta_post_message',
	 scope: [
		 'openid',
		 'email',
		 'profile',
		 'address',
		 'phone',
		 'groups'
	 				]
 									}
		});

		oktaSignIn.renderEl(
		  { el: '#okta-login-container' },
		  function (res) {
		    if (res.status === 'SUCCESS')
        {
          console.log('User %s successfully authenticated %o', res.user.profile.login, res.user);
          res.session.setCookieAndRedirect(redirectUrl);
        }
		  }
		);
	</script>
</body>
</html>

EN

回答 1

Stack Overflow用户

发布于 2017-01-11 13:27:32

Okta在调用方法setCookieAndRedirect(redirectUrl)之后设置用户会话。

redirectUrl (index.php)内部的逻辑可以使用Sign-In小部件通过retrieving the current session获取sessionId

代码语言:javascript
复制
<!-- index.php -->
<!DOCTYPE html>
<html>
    <head> <!-- scripts and stylesheets --> </head>

    <body>
        <script type="text/javascript">

            var oktaSignIn = new OktaSignIn({ /* config */});

            oktaSignIn.session.exists(function (exists) {
                if (exists) {
                    // Session exists
                    oktaSignIn.session.get(function (sessionInfo) {
                        // sessionInfo.id
                    }, function(err) { // error retrieving session })
                        return;
                    } else { console.log("No session");
                }
            });

        </script>
    </body>
</html>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41325060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档