비디오: Liberty의 OpenID Connect

다음은 "Liberty의 OpenID Connect" 비디오에 대한 내용으로, Liberty에서 OpenID Connect를 구성하는 방법을 보여줍니다. 이 내용은 비디오 스토리보드입니다. 오디오는 나레이션과 캡션을 설명합니다. 화면상의 동작은 비디오에 표시되는 내용을 설명합니다.

비디오 Liberty에서의 OpenID Connect

표 1. 제목 페이지. 제목을 표시한 후 기본 OpenID Connect 시나리오를 지원되는 OpenID 제공자 및 OpenID Connect를 사용하는 이점을 보여줍니다.
화면 오디오 화면 상의 동작
1 이 비디오는 WebSphere® Application Server Liberty를 사용하여 단순 OpenID Connect 웹 싱글 사인온 시나리오를 설정하는 방법을 보여줍니다. 제목 OpenID Connect 빠른 설정을 표시합니다.
2 여기에서는 기본 "OpenID Connect" 플로우를 확인할 수 있습니다. 사용자가 먼저 OpenID Connect 보호 웹 애플리케이션 또는 신뢰 당사자에 액세스하려고 시도하면 사용자가 OpenID Connect 제공자로 경로 재지정됩니다. OpenID Connect 제공자는 사용자를 인증하고 사용자의 권한을 얻은 후 권한 코드로 응답합니다. 그런 다음 애플리케이션 컨테이너는 응답에서 코드를 추출하고, 검증을 위해 이 코드를 다시 OpenID 제공자에게 보내고, ID와 액세스 토큰을 받습니다. 따라서 사용자는 보호된 웹 애플리케이션에 액세스하도록 인증됩니다. 애플리케이션은 액세스 토큰을 사용하여 OpenID Connect 제공자에서 이메일 주소와 같은 사용자 정보를 요청할 수 있거나, OpenID Connect를 지원하는 서비스에 액세스할 수 있습니다. 이 비디오에서는 애플리케이션을 "신뢰 당사자" 또는 RP와 "OpenID 제공자" 또는 OP로 언급하겠습니다.

지원되는 몇몇 OpenID 제공자를 살펴보겠습니다.

신뢰 당사자(RP), OpenID Provider(OP) 및 일반 사용자가 포함된 기본 OpenID Connect 시나리오를 보여줍니다.
3 OpenID 제공자 또는 신뢰 당사자 중 하나로 IBM® WebSphere Liberty를 구성할 수 있습니다. OP뿐 아니라 ISAM으로도 알려진 IBM Security Access Manager를 사용할 수 있습니다. 또는 지원되는 수많은 써드파티 OpenID 제공자를 사용할 수 있습니다. 지원되는 OpenID 제공자의 일부를 보여줍니다.
  • IBM WebSphere
  • IBM Security Access Manager
  • Amazon
  • Microsoft
  • Okta
  • Google
4 OpenID Connect는 OAUTH 2.0의 최상위 ID 계층으로 수많은 혜택을 제공합니다. OpenID Connect를 통해 사용자는 몇몇 서버, 서비스 및 애플리케이션을 통해 인증하는 데 사용할 수 있는 단일 인터넷 ID를 가지며, 자체 사용자 레지스트리가 더 이상 필요하지 않기 때문에 이는 애플리케이션에서 유지보수 작업의 양을 줄여줍니다.

개발자의 경우, 비밀번호를 저장 및 관리할 필요 없이 인증 사용자의 태스크를 간소화합니다. OpenID Connect는 또한 보안 서비스를 클라우드 기반 및 JavaScript, Ruby, node.js 또는 Java™ 등의 언어로 작성된 모바일 애플리케이션으로 확장할 수 있으며, 클라우드 환경에서 수백 개의 Liberty 서버를 프로비저닝하는 단일 보안 관리자 역할을 할 수 있습니다. OpenID Connect는 ID, 인증 및 OAuth의 이점을 결합한 것이므로 OpenID Connect는 OAuth 자체에 대해 주요한 개선사항입니다.

OpenID Connect를 사용하는 몇 가지 이점을 보여줍니다.
  • OpenID Connect를 사용하면 몇몇 서버, 서비스 및 애플리케이션을 통해 인증하기 위해 단일 인터넷 ID(사용자 계정)를 사용하기가 더 쉽습니다.
  • 애플리케이션은 더 이상 자체 사용자 레지스트리를 유지할 필요가 없습니다.
  • OpenID Connect는 JavaScript, Ruby, node.js, Java 등의 언어를 통해 액세스 가능한 클라우드 및 모바일 애플리케이션으로 보안 서비스를 확장합니다.
  • 클라우드에서 수백 개의 Liberty 서버를 프로비저닝할 경우 단일 보안 방식을 가지도록 하는 기능이 제공됩니다.
  • OpenID Connect는 OAUTH 2.0에 대한 중요한 개선사항입니다.
표 2. OpenID 제공자를 구성하는 데모
화면 오디오 화면 상의 동작
5 WebSphere Application Server Liberty는 OpenID 제공자, 신뢰 당사자 또는 둘 다로 구성할 수 있습니다. OP 및 RP 둘 다로 Liberty를 사용하려는 경우, 다른 Liberty 서버 인스턴스에서 이를 구성해야 합니다. Liberty 서버를 OP 및 RP로 설정하고 Liberty OP 및 RP 간의 단순 웹 싱글 사인온 시나리오를 살펴보겠습니다. 제목 Liberty를 OpenID Connect 제공자와 신뢰 당사자로 설정을 표시합니다.
6 먼저 OpenID 제공자를 설정하겠습니다.

이를 수행하기 위해 OpenID Connect 기능 사용을 위해 필요한 WebSphere Liberty 8554 이상을 설치합니다. OpenID Server 기능을 설치하십시오.

Liberty 서버를 작성하고 OP 구성을 server.xml 파일에 추가하십시오. 이는 IBM developerWorks®에서 다운로드 가능한 샘플로 사용 가능합니다.

OP 설정 개요를 보여줍니다.
  1. WebSphere Liberty 8.5.5.4 이상 > java -jar wlp-developers-runtime-8.5.5.4.jar을 설치하십시오.
  2. OpenID Server 기능(다운로드가 필요하지 않음) > bin/featureManager install openidConnectServer-1.0 --when-file-exists=ignore를 설치하십시오.
  3. Liberty 서버> server create oidcServer를 작성하십시오.
  • 추가 구성(샘플 다운로드 가능)으로 server.xml을 편집하십시오.
  • 필수 기능
  • SSL 키 저장소
  • 사용자 레지스트리
  • OpenID 서버
7 먼저 Liberty JAR 파일의 압축을 푸십시오. 이렇게 하면 wlp 디렉토리가 작성됩니다. wlp 아래의 bin 디렉토리로 이동하고 featureManager install 명령을 실행하여 OpenID Connect Server 기능을 설치하십시오.

동일한 디렉토리에서 server create 명령을 실행하여 Liberty OP 서버를 작성하십시오. 이 하나를 oidcServer로 이름 지정하겠습니다.

oidcServer는 이제 server.xml 파일에서 최소 구성으로 작성됩니다. wlp/usr/server/oidcServer 디렉토리에서 구성을 찾을 수 있습니다.

여기에서는 방금 작성한 server.xml 파일의 컨텐츠를 볼 수 있습니다. 구성은 하나의 기능과 포트 정보만으로 매우 단순합니다. OP 서버 구성을 가진 server.xml 파일로 이를 대체합니다(화면이 분할되고 오른쪽에 OP 구성이 나타남).

(server.xml 파일에서 업데이트 수행) OP 서버 구성에서
  • 필수 기능이 추가됩니다.
  • 호스트 이름이 추가됩니다.
  • 키 저장소 구성이 SSL 기능용으로 추가됩니다.
  • OP는 사용자 계정을 유지하므로 사용자 레지스트리가 구성됩니다.

나머지는 OAuth 기술을 사용하는 OP 구성입니다. 권한 부여를 수행하는 신뢰 당사자에 대한 정보가 포함됩니다.

IBM DeveloperWorks에서 방금 추가한 server.xml 파일을 다운로드할 수 있습니다. 이제 OP 서버를 시작합니다. OpenID 제공자를 설정했으므로 Liberty 신뢰 당사자를 설정할 수 있습니다.

server.xml 파일을 업데이트하는 데 사용되는 명령 프롬프트가 있는 데모.
표 3. 신뢰 당사자를 구성하는 데모
화면 오디오 화면 상의 동작
8 신뢰 당사자를 설정하려면 OP 구성과 마찬가지로 Liberty의 버전 8.5.5.4 이상이 있어야 하며, OpenID Client 기능을 설치하게 됩니다.

별도의 Liberty 서버를 작성하고 server.xml 파일을 편집합니다.

그런 다음 SSL 통신을 위해 OpenID 제공자와 함께 애플리케이션 및 교환 키를 설치합니다.

RP 설정 개요를 보여줍니다.
  1. WebSphere Liberty 8.5.5.4 > java -jar wlp-developers-runtime-8.5.5.4.jar을 설치하십시오.
  2. OpenID Client 기능(다운로드가 필요하지 않음) > bin/featureManager install openidConnectClient-1.0 --when-file-exists=ignore를 설치하십시오.
  3. Liberty 서버 > server create oidcRP를 작성하십시오.
    • 추가 구성(샘플 다운로드 가능)으로 server.xml을 편집하십시오.
    • 필수 기능
    • SSL 키 저장소
    • OpenID 클라이언트
    • 애플리케이션
  1. 애플리케이션(OpenID Connect 사용)을 설치하고 앱 디렉토리 아래 애플리케이션 ear/war 파일을 복사하십시오.
    • SSL 통신을 위해 키를 OP로 교환
9 Liberty의 버전 8.5.5.4는 이 시스템에 이미 구성되어 있습니다. OpenID Client 기능을 설치하고 oidcRP라는 이름을 가진 서버를 구성하겠습니다. 이는 기본 server.xml 파일입니다. 이제 이를 RP 구성을 가진 server.xml 파일과 비교하겠습니다. 이러한 섹션(기능, 엔드포인트 호스트 이름, 키 저장소)은 OP로 이전에 살펴본 동일한 업데이트입니다.

이번에는 OP 서버 구성 대신에 OpenID Client 구성이 있습니다. 이는 인증 요청을 보내기 위해 OP URL을 지정합니다.

RP 구성에는 또한 애플리케이션 구성이 포함되어 있으며 이러한 애플리케이션은 인증을 수행하기 위해 OP에 의존합니다.

RP에는 사용자 레지스트리 구성이 없습니다. 이것이 RP에 필요한 구성의 전부입니다. 이제 테스트 애플리케이션을 RP의 app 디렉토리에 복사하겠습니다. RP 서버를 시작하기 전에 RP 및 OP가 SSL 통신을 위해 키 저장소에서 키를 교환했는지 확인하십시오. 이 데모에서는 동일한 키 저장소와 동일한 비밀번호를 사용합니다.

이제 RP 서버를 시작하여 설정을 제대로 했는지 확인합니다.

server.xml 파일을 업데이트하는 데 사용되는 명령 프롬프트가 있는 데모.
표 4. OP/RP 설정을 테스트하는 데모
화면 오디오 화면 상의 동작
10 OP 및 RP 서버가 이미 시작되었습니다. 브라우저에서는 애플리케이션 URL로 이동합니다. 프롬프트가 표시되면 OP로부터 계정 정보를 입력하게 됩니다. 그러면 인증을 수행하기 위해 OP에 의존하는 RP를 보게 됩니다. 사용자가 인증되면 RP가 사용자에 대한 애플리케이션 페이지를 표시합니다. 지금 시도해 보겠습니다. OP/RP 설정을 테스트하는 데모입니다.
  1. OP 및 RP 서버, > server start oidcServer > server start oidcRP를 둘 다 시작하십시오.
  2. 브라우저에서 RP의 애플리케이션 로그인 페이지 > https://oidc-rp.rtp.raleigh.ibm.com:9443/testpage를 가리키십시오.
  3. 프롬프트가 표시되면 OP > user1 / 보안으로 유지되는 사용자 ID 및 비밀번호를 입력하십시오.
  4. RP는 인증을 위해 OP에 의존합니다.
  5. 성공적인 인증을 위해 RP는 사용자 정보가 포함된 애플리케이션 페이지를 제공합니다.
11 브라우저에서 RP 서버에 있는 애플리케이션 URL을 입력합니다. 사용자 이름 및 비밀번호를 입력하라는 프롬프트가 표시됩니다. RP가 인증을 OP에 위임하고 있으므로 OP 서버에 의해 프롬프트가 표시됩니다.

OP 계정에 대한 신임 정보인 user1security를 입력합니다. 이제 OP 계정을 사용하는 RP의 애플리케이션에 성공적으로 로그인됩니다.

OP 계정을 사용하는 RP의 애플리케이션으로 성공적으로 로그인하는 모습을 보여주는 브라우저 로그인의 데모입니다.
표 5. 결론. OpenID Connect에 대한 자세한 정보를 찾을 수 있는 위치를 보여줍니다.
화면 오디오 화면 상의 동작
12 자세한 정보는 다음 온라인 자원을 참조하십시오. 문서에 대한 정보를 보여줍니다.
WebSphere Liberty 다운로드 페이지
https://developer.ibm.com/wasdev/downloads/liberty-profile-using-non-eclipse-environments/
OpenID Connect 기능 설치
서버: https://developer.ibm.com/wasdev/downloads/#asset/features-com.ibm.websphere.appserver.openidConnectServer-1.0
클라이언트: https://developer.ibm.com/wasdev/downloads/#asset/features-com.ibm.websphere.appserver.openidConnectClient-1.0
IBM Knowledge Center - OpenID Connect 기본 페이지
http://www-01.ibm.com/support/knowledgecenter/api/content/nl/en-us/SSAW57_8.5.5/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/rwlp_using_oidc.html
IBM DeveloperWorks(OP/RP 샘플 포함)
http://www.ibm.com/developerworks/websphere/library/techarticles/1502_odonnell/1502_odonnell.html

OpenID Connect에 대한 자세한 정보는 OpenID Connect 사용을 참조하십시오.


주제의 유형을 표시하는 아이콘 개념 주제



시간소인 아이콘 마지막 업데이트 날짜: Monday, 5 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=video_transcript_oidc_liberty
파일 이름: video_transcript_oidc_liberty.html