Java 애플리케이션 테스트

이 솔루션 섹션에서는 다음 작업을 수행할 수 있습니다.

  • 샘플 Java 웹 애플리케이션을 등록하여 인증을 위해 Oracle Identity Cloud Service 통합

  • Oracle Identity Cloud Service 프로그래밍 언어에 대해 Java SDK를 사용하도록 애플리케이션을 설정합니다.

  • 애플리케이션 준비, 실행 및 테스트

Java 애플리케이션 등록

Oracle Identity Cloud Service 샘플 Java 웹 애플리케이션과의 통신을 설정하려면 클라이언트 ID 및 암호가 필요합니다. 또한 애플리케이션에 부여할 API 권한을 구성해야 합니다.

  1. Oracle Identity Cloud Service 콘솔에서 탐색 전환기를 확장한 다음 애플리케이션 을 누릅니다.
  2. 애플리케이션 페이지에서 추가 를 누릅니다.
  3. 애플리케이션 추가 대화상자에서 기밀 애플리케이션 을 누릅니다.
  4. 세부정보 창의 이름설명 필드에서 SDK Web Application 을 입력하고 다음 을 누릅니다.
  5. 클라이언트 창에서 지금 이 애플리케이션을 클라이언트로 구성 을 선택하고 다음과 같이 이 창의 필드를 채웁니다.
    필드
    허용된 권한 부여 유형 클라이언트 인증서권한 부여 코드 를 선택합니다.
    Https 이외의 URLs 허용 이 체크박스를 선택합니다. 응용 프로그램은 비Https 모드에서 작동합니다.
    재지정 URL http://localhost:8080/callback
    사후 로그아웃 재지정 URL http://localhost:8080
  6. 클라이언트 창에서 아래로 스크롤하여 Identity Cloud Service 관리 APIs 에 대한 클라이언트 액세스 권한 부여 를 선택하고 아래 필드에 Authenticator ClientMe 를 입력한 후 다음 을 누릅니다.
  7. 다음 창에서 마지막 창에 도달할 때까지 다음 을 누릅니다. 그런 다음 완료 를 누릅니다.
  8. 응용 프로그램 추가됨 대화상자에서 클라이언트 ID 및 클라이언트 암호 값(Java 웹 응용 프로그램에 Oracle Identity Cloud Service 값과 통합할 값이 필요하기 때문에) 을 기록한 다음 닫기 를 누릅니다.
  9. 이 애플리케이션을 Oracle Identity Cloud Service 애플리케이션과 통합하려면 활성화 를 누릅니다.
  10. 애플리케이션 활성화? 대화상자에서 애플리케이션 활성화 를 누릅니다.
  11. Oracle Identity Cloud Service 콘솔에서 콘솔의 오른쪽 상단에 있는 사용자 이름을 누른 다음 사인아웃 을 누릅니다.

Java 애플리케이션 설정

샘플 Java 애플리케이션의 코드를 업데이트하여 Java 프로그래밍 언어에 대해 Oracle Identity Cloud Service SDK를 사용하도록 설정합니다.

  1. c:\temp\java\pom.xml 파일을 엽니다.
  2. 다음 코드 행을 찾습니다.
    <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/idcs-assert.jar</systemPath>
  3. idcs-assert.jar 파일을 [Java SDK 다운로드] 섹션에서 기록한 파일 이름으로 바꿉니다.
  4. 변경사항을 pom.xml 파일에 저장한 다음 파일을 닫습니다.
  5. c:\temp\java\src\main\java\sampleapp\util\ConnectionOptions.java 파일을 편집하고 getOptions 메소드를 다음 콘텐츠로 업데이트하고 파일을 저장합니다.
     public Map<String,Object> getOptions(){
            //Adding Oracle Identity Cloud Service connection parameters to the HashMap instance.
            this.options.put(IDCSTokenAssertionConfiguration.IDCS_HOST, "identity.oraclecloud.com");
            this.options.put(IDCSTokenAssertionConfiguration.IDCS_PORT, "443");
            this.options.put(IDCSTokenAssertionConfiguration.IDCS_CLIENT_ID, "123456789abcdefghij");
            this.options.put(IDCSTokenAssertionConfiguration.IDCS_CLIENT_SECRET, "abcde-12345-zyxvu-98765-qwerty");
            this.options.put(IDCSTokenAssertionConfiguration.IDCS_CLIENT_TENANT, "idcs-abcd1234");
            this.options.put(Constants.AUDIENCE_SERVICE_URL, "https://idcs-abcd1234.identity.oraclecloud.com:443");
            this.options.put(Constants.TOKEN_ISSUER, "https://identity.oraclecloud.com/");
            this.options.put(Constants.TOKEN_CLAIM_SCOPE, "urn:opc:idm:t.user.me openid");
            this.options.put("SSLEnabled", "true");
            this.options.put("redirectURL", "http://localhost:8080/callback");
            this.options.put("logoutSufix", "/oauth2/v1/userlogout");
            this.options.put(Constants.LOG_LEVEL, "DEBUG");
            this.options.put(Constants.CONSOLE_LOG, "True");
    	return this.options;
    }
    이 솔루션의 방법 및 함수에 대해 알아보기 항목에서 IDCS_HOST, IDCS_PORTIDCS_CLIENT_TENANT 매개변수의 값을 구할 수 있습니다. IDCS_CLIENT_IDIDCS_CLIENT_ SECRET 매개변수 값에 대해 Java 웹 애플리케이션을 등록할 때 Oracle Identity Cloud Service가 생성한 클라이언트 ID 및 클라이언트 암호를 사용합니다.

Java 애플리케이션 실행

샘플 Java 웹 애플리케이션을 준비, 실행 및 테스트합니다.

  1. NetBeans 실행
  2. 파일, 프로젝트 열기 순으로 누릅니다.
  3. C:\temp\java 폴더를 선택하고 프로젝트 열기 를 누릅니다.
  4. 프로젝트 이름을 마우스 오른쪽 버튼으로 누르고 빌드 를 누릅니다.
  5. 프로젝트 이름을 마우스 오른쪽 버튼으로 누르고 실행 을 누릅니다.
    응용 프로그램은 NetBeans 기본 포트 (8080) 를 사용합니다. NetBeans 애플리케이션이 동일한 포트를 사용하도록 구성되었는지 확인하십시오.
  6. http://localhost:8080 URL을 사용하여 새 브라우저 창이 열리면 로그인 을 누릅니다.
  7. 로그인 페이지에서 빨간색 Oracle 아이콘을 누릅니다.
  8. [사인인 ] 페이지에서 Oracle Identity Cloud Service 인증서를 사용하여 사인인합니다.
    Oracle Identity Cloud Service 에 사인인한 후 Java 웹 애플리케이션의 페이지가 나타납니다. 로그인한 사용자의 이름은 페이지 오른쪽 상단에 나타납니다.
  9. 왼쪽 메뉴에서 내 프로파일 을 누릅니다.
  10. 페이지와 연관된 정보가 페이지 가운데에 나타나는지 확인합니다.