2016-08-11 2 views
0

Okta 로그인 위젯을 사용하여 작성한 프로그램에 대한 사용자의 유효성을 검사하고 일부 Okta 프로필 데이터를 URL을 통해 내 응용 프로그램에 전달하려고합니다. Okta가 생성하는 객체 (res)를 보면 firstName, lastName, locale, timeZone 및 login과 같은 프로필 속성 중 일부만을 표시하는 것으로 보입니다. 자바 스크립트 경고는 다른 모든 사용자 프로필 속성에 대해 정의되지 않은 것으로 표시됩니다. 이 스크립트 내에서 okta 프로필의 추가 프로필 속성에 액세스 할 수있는 방법이 있습니까 아니면 Okta 포털 자체를 통해 수행 할 수있는 다른 방법이 있습니까? 나는 아래에있는 내 코드에서 로그인의 스크립트를 포함 : (okta에서 응용 프로그램을 만들 Okta - 로그인 위젯에서 URL로 okta 프로필 매개 변수 전달하기

 <script type="text/javascript"> 
      var baseUrl = 'https://<my company>.okta.com'; 
      var logo = 'https://ok2static.oktacdn.com/bc/image/fileStoreRecord?id=<myid>; 
      var oktaSignIn = new OktaSignIn({ 
       baseUrl: baseUrl, logo: logo, 
       labels: { 
          'primaryauth.title': 'Login', 
          'primaryauth.username.tooltip': '(email address)' 
         } 
      }); 

      oktaSignIn.renderEl(
       {el: '#okta-login-container'}, 
       function (res) { 
        alert(res.user.profile.login); 
        alert(res.user.profile.firstName); 
        alert(res.user.profile.lastName); 
        alert(res.user.profile.locale); 
        alert(res.user.profile.timeZone); 
        alert(res.user.profile.streetAddress); 
        alert(res.user.profile.countryCode); 
        alert(res.user.profile.city); 
        alert(res.user.profile.nickName); 
        alert(res.user.profile.displayName); 
        alert(res.user.profile.email); 
        alert(res.user.profile.secondEmail); 
        alert(res.user.profile.profileUrl); 
        alert(res.user.profile.preferredLanguage); 
        alert(res.user.profile.userType); 
        alert(res.user.profile.organization); 
        alert(res.user.profile.title); 
        alert(res.user.profile.division); 
        alert(res.user.profile.department); 
        alert(res.user.profile.costCenter); 
        alert(res.user.profile.employeeNumber); 
        alert(res.user.profile.mobilePhone); 
        alert(res.user.profile.primaryPhone); 
        alert(res.user.profile.city); 
        alert(res.user.profile.state); 
        alert(res.user.profile.zipCode); 


        if (res.status === 'SUCCESS') { res.session.setCookieAndRedirect('http://www.myprogram.aspx?<this is where I would like to pass in Okta profile parameters like streetAddress or City>); } 
       } 
      ); 
     </script> 

가 Okta 포털로 이동 okta 자체 내에서 거기에서 매개 변수를 전달하기 위해 문을 변경하는 변경하는 몇 가지 방법이 있나요를 그 I 사용자 프로필 매개 변수를 전달할 수 있습니까?)

    if (res.status === 'SUCCESS') { res.session.setCookieAndRedirect('https://<mycompany>.okta.com); } 
       } 

답변

0

가장 좋은 방법은 SSO가 앱의 사용자 정의 로그인 페이지를 사용 Okta를 응용 프로그램 (SAML 또는 WS-연준)를 활성화하고 구성하는 것입니다. Okta는 응용 프로그램에 대해 사용자 정의 로그인 페이지가 활성화 된 경우 "fromURI"매개 변수로 리디렉션합니다.

res.session.setCookieAndRedirect(fromURI QueryStringParameter); 

Okta는 Okta의 앱별로 구성된 SSO를 통해 필요한 모든 정보를 보내야합니다.

현재 API 만 사용하는 경우 Get User API을 사용할 수 있습니다. ID를 "me"로 대체하여 API 토큰 또는 세션 쿠키에 링크 된 현재 사용자를 가져올 수 있습니다.

관련 문제