Software & Solution/IBM Connections

IBM Connections 6.0 OAuth 설정

누한 2018. 1. 9. 15:13
반응형

IBM Connections 6.0 OAuth 설정


솔루션 연계를 위해서는 기본적으로 무엇이 필요할까요?


A라는 시스템이 있습니다. 사용자는 잘 이용합니다.


그러다가 B라는 시스템이로 화면을 이동합니다.


그런데 갑자기 다시 로그인을 하라고 합니다.


이럴때 사용자들 대부분을 짜~~증을 냅니다.



그래서 일반적인 Web Application Server 에서는 OAuth와 같은 SSO 방안을 제공해 줍니다.


아래 내용은 IBM Connections라는 솔루션에서 제공하는 OAuth 설정에 대한 자료입니다.


내용을 보시면 wsadmin.sh 라는 툴로 인증 토큰을 받아오는 과정이 설명되어 있습니다.


이게 바로 일반적인 OAuth과정입니다.




어쨌든 참고로,,, 저장... 



출처: https://www.ibm.com/support/knowledgecenter/ko/SSYGQH_6.0.0/admin/admin/t_admin_registeroauthclientwprovider.html


제공자에 OAuth 클라이언트 등록

OAuth 제공자에 OAuth 클라이언트를 등록해야 합니다.

이 태스크 정보

활동 스트림을 사용하는 동안 심리스 사용자 경험을 허용하려면 IBM Connections가 신뢰되는 가젯 클라이언트의 자동 권한을 지원합니다. 사용자는 Connections 데이터에 액세스하려고 노력하는 첫 번째 시간에 신뢰되는 가젯에 권한을 부여하도록 프롬프트되지 않습니다. IBM Connections의 상자에서 유일하게 신뢰되는 가젯 클라이언트는 Connections Embedded Experience 가젯입니다.

프로시저

  1. 임의의 클라이언트를 등록하려면 다음을 수행하십시오.
    1. wsadmin을 시작하십시오.
      ./wsadmin.sh -lang jython -user wasadmin -password passw0rd

    2. 로드 oauth 관리 명령
      execfile('oauthAdmin.py')

    3. 다음과 같이 클라이언트를 등록하십시오.
      OAuthApplicationRegistrationService.addApplication(String appId, String appName, String redirectURI)

      여기서,
      • appId는 등록하는 애플리케이션의 ID입니다. my-test-client와 같이 사용자가 선호하는 것일 수 있습니다.
      • appName은 내 테스트 클라이언트와 같은 클라이언트의 구체적인 이름입니다.
      • redirectURI은 가젯이 권한을 부여할 시기에 대해 재지정하는 위치입니다. Connections가 클라이언트일 때 URL은 이 템플리트화된 값으로 설정되어야 합니다. 다음 URL의 플레이스홀더 opensocialSvcUrl 은 LotusConnections-config.xml에 정의된 opensocial 서비스의 URL 값으로 런타임 시 대체됩니다.
      wsadmin>OAuthApplicationRegistrationService.addApplication("my-test-client", "My Test Client", "{opensocialSvcUrl}/gadgets/oauth2callback")
      애플리케이션은 새 id my-test-client와 함께 추가됩니다.

    4. 최근에 등록된 애플리케이션에서 클라이언트 본인확인정보를 가져옵니다(이를 복사하여 테스트 파일로 저장). 이는 컨슈머 프록시에서 가젯을 등록하기 위해 사용됩니다.
      clientSecret = OAuthApplicationRegistrationService.getApplicationById(appId).get('client_secret')

      본인확인정보를 보기 위해 다음 명령을 실행하십시오.
      wsadmin>clientSecret = OAuthApplicationRegistrationService.getApplicationById('conn-ee').get('client_secret') 
      wsadmin>print clientSecret

      예를 들면 다음과 같습니다.
      CdVFsLUyTGa9p8BaHZcNSir4i7sLcuk31XZMkhtXSHUcXGKI7HDeCONm89lf

  2. 이 가젯에 대해 자동 권한을 사용하려면 제공자는 권한을 부여받은 클라이언트가 되도록 구성되어야 합니다. 이전에 사용된 appld를 신뢰되는 자동 권한 클라이언트 목록에 추가하도록 제공자를 구성하기 위해 사용되는 connectionsProvider.xml(예: \IBM\WebSphere\AppServer\profiles\AppSrv01\config\cells\nameCell01\oauth20\에 위치함)을 수정하십시오. 예를 들면 다음과 같습니다.
    <parameter name="oauth20.autoauthorize.clients" type="ws" customizable="true">
            <value>my-test-client</value>
          </parameter>

  3. 이 wsadmin 명령을 사용하고 connectionsProvider.xml 및 wasadmin 신임 정보에 대한 적절한 경로를 대체하는 제공자를 다시 작성하십시오.
    ./wsadmin.sh -lang jython -conntype SOAP -c "print AdminTask.createOAuthProvider('[-providerName connectionsProvider -fileName /opt/IBM/WebSphere/AppServer1/profiles/AppSrv01/bin/connectionsProvider.xml]')" -user wasadmin -password PASS

  4.  OAuth 제공자 토큰 수명에 대한 기본 구성 설정이 사용자 구현에 적절한지 여부를 고려하십시오. 기본값은 다음과 같습니다.
    • 액세스 토큰=12시간
    • 새로 고침 토큰=6개월
    • 정리 간격=1시간


반응형