2016-11-03 19 views
0

Okta's Sign-In WidgetとOkta APIを使用して、ユーザーが関連付けられているグループを調べようとしています。Okta APIを使用したOktaサインインウィジェット

Okta APIは、ユーザーが関連付けられているグループを返しますが、管理コンソールからこのグループに移動するときにのみ使用できます.Okta管理セッションに基づいている必要があります。

{"errorCode":"E0000005","errorSummary":"Invalid session","errorLink":"E0000005","errorId":"oaeLznzzAC0QaaLJmjDEls5rA","errorCauses":[]} 

は、どのように私は、彼らが関連付けられているグループに基づいてユーザーをリダイレクトするOktaサインインウィジェットと「Get Member Groups」APIのリソースを使用することができます。t私はこのエラーを取得しますか?

答えて

3

Oktaユーザーが関連付けられているグループを取得するために「Get Member Groups」APIリソースを使用するのではなく、Okta Sign-In Widgetを構成してグループクレームをコードに直接戻すように設定することをお勧めします。下のコードは、これを行い、ユーザーが "Example"という名前のグループにいるかどうかを確認する方法を示しています。

<!DOCTYPE html> 
<html> 
<head> 
    <title>Get Groups for Okta User using the Okta Sign-In Widget</title> 
    <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"> 
</head> 
<body> 
    <div id="okta-login-container"></div> 
    <script type="text/javascript"> 
     var OKTA_ORG_URL = 'https://example.okta.com'; 
     var OKTA_CLIENT_ID = '0abcdefgHIjkL12mn3oP'; 

     var oktaSignIn = new OktaSignIn({ 
      authParams: { 
       responseType: 'id_token', 
       responseMode: 'okta_post_message', 
       scopes: ['openid', 'groups'] 
      }, 
      clientId: OKTA_CLIENT_ID, 
      baseUrl: OKTA_ORG_URL 
     }); 
     oktaSignIn.renderEl(
      { el: '#okta-login-container' }, 
      function (res) { 
       if (res.status === 'SUCCESS') { 
        console.log('User successfully authenticated'); 
        console.log(res); 
        if (res.claims.groups.includes('Example')) { 
         console.log("User in 'Example' group"); 
         // Uncomment the line below to redirect to example.com 
         // window.location = "http://www.example.com"; 
        } 
       } 
      } 
    ); 
    </script> 
</body> 
</html> 

注:あなた必見があなたのOktaアプリが欲しいのグループに沿って通過するように設定されているセクション「サインオン」の「グループの主張を」持っています。グループの主張の設定画面は次のとおりです。私は、ユーザが割り当てられているすべてのグループを渡すという主張を設定しました。気になるグループを通過するように設定することをお勧めします。

How to configure the Groups claim for an Okta app

関連する問題