Username 토큰

<UsernameToken> 요소를 사용하여 사용자 이름 및 선택적으로는 비밀번호 정보를 전파할 수 있습니다. 또한 이 토큰 유형을 사용하여 기본 인증 정보를 전달할 수도 있습니다. 사용자 이름과 비밀번호 모두 SOAP 메시지를 인증하는 데 사용됩니다.

OASIS: 웹 서비스 보안 UsernameToken 프로파일 1.0

사용자 이름을 포함하는 UsernameToken 요소가 ID 어설션에서 사용됩니다. ID 어설션에서는 신뢰 관계를 기반으로 사용자의 ID를 설정합니다.

다음 예는 <UsernameToken> 요소의 구문을 보여줍니다.

<wsse:UsernameToken wsu:Id="Example-1">
   <wsse:Username> 
   ... 
   </wsse:Username>
   <wsse:Password Type="..."> 
   ... 
   </wsse:Password>
   <wsse:Nonce EncodingType="..."> 
   ... 
   </wsse:Nonce>
   <wsu:Created> 
   ... 
   </wsu:Created>
</wsse:UsernameToken>

웹 서비스 보안 스펙은 다음 비밀번호 유형을 정의합니다.

http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText (기본값)
이 유형은 사용자 이름의 실제 비밀번호입니다.
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest
이 유형은 사용자 이름의 비밀번호 다이제스트입니다. 이 값은 UTF8 인코딩 비밀번호의 base64 인코딩된 SHA1 해시 값입니다.

WebSphere® Application Server는 기본 PasswordText 유형을 지원합니다. 그러나, 대부분의 사용자 레지스트리 보안 정책이 애플리케이션 소프트웨어에 비밀번호를 노출하지 않기 때문에 비밀번호 다이제스트은 지원하지 않습니다.

다음 예는 <UsernameToken> 요소의 사용법을 보여줍니다.
<S:Envelope 
       xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"
       xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <S:Header>
            ...
        <wsse:Security>
            <wsse:UsernameToken>
                <wsse:Username>Joe</wsse:Username>
                <wsse:Password>ILoveJava</wsse:Password>
            </wsse:UsernameToken>
        </wsse:Security>
    </S:Header>
</S:Envelope>

OASIS: 웹 서비스 보안 UsernameToken 프로파일 1.1

WebSphere Application Server는 Username 토큰 프로파일 1.0 및 버전 1.1 표준을 둘 다 지원합니다.

WebSphere Application Server는 다음 기능을 지원하지 않습니다.

  • Username 토큰 프로파일 스펙의 두 버전 모두에서 다이제스트 비밀번호 유형이 지원되지 않습니다.
  • Username 토큰 프로파일 스펙의 두 버전 모두에서 비밀번호를 기반으로 하는 키 파생이 지원되지 않습니다.

관리 콘솔을 사용하여 UsernameToken을 구성하는 데 정책 세트를 사용할 수 있습니다. 또한, 웹 서비스 보안 API를 사용하여 SOAP 메시지에 Username 토큰을 첨부할 수 있습니다. 다음 그림은 JAX-RPC 및 JAX-WS 프로그래밍 모델에 대한 Username 토큰의 작성 및 유효성 검증을 설명합니다.

JAX-RPC에서 JAAS 로그인 모듈 및 JAAS CallbackHandler를 사용한 Username 토큰 작성 및 유효성 검증

JAX-RPC에서 JAAS 로그인 모듈 및
JAAS CallbackHandler를 사용한 Username 토큰
작성 및 유효성 검증

JAX-WS에서 JAAS 로그인 모듈 및 JAAS CallbackHandler를 사용한 Username 토큰 작성 및 유효성 검증

JAX-WS에서 JAAS 로그인 모듈 및 JAAS CallbackHandler를
사용한 Username 토큰 작성 및 유효성 검증

참고: WSS API는 JAX-WS(Java™ API for XML-Based Web Services) 프로그래밍 모델을 사용 중일 때만 사용 가능합니다.

생성기측에서 Username 토큰은 JAAS LoginModule을 사용하여 작성되며 인증 데이터를 전달하기 위해 JAAS CallbackHandler를 사용하여 작성됩니다. JAAS LoginModule은 UsernameToken 오브젝트를 작성하고 이를 웹 서비스 보안 런타임으로 전달합니다.

이용자측에서는, Username 토큰 XML 형식이 유효성 검증 또는 인증을 위해 JAAS LoginModule로 전달되며, JAAS CallbackHandler가 웹 서비스 보안 런타임에서 JAAS LoginModule로 인증 데이터를 전달하는 데 사용됩니다. 토큰이 인증된 후 UsernameToken 오브젝트가 작성되고 웹 서비스 보안 런타임으로 전달됩니다.

다음 예제는 Username 토큰을 작성하기 위한 샘플 코드를 제공합니다.

WSSFactory factory = WSSFactory.getInstance();
   WSSGenerationContext gencont = factory.newWSSGenerationContext();
	
// Attach the username token to the message.
   UNTGenerationCallbackHandler ugCallbackHandler = 
      newUNTGenerationCallbackHandler("alice", "ecila");
   SecurityToken ut = factory.newSecurityToken(ugCallbackHandler, 
                                               UsernameToken.class);
   gencont.add(ut);

// Generate the WS-Security header
gencont.process(msgctx);

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



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