Token do Nome do Usuário

É possível usar o elemento <UsernameToken> para propagar um nome de usuário e, opcionalmente, informações de senha. Além disso, pode-se usar esse tipo de token para transportar informações de autenticação básica. Um nome de usuário e uma senha são usados para autenticar a mensagem SOAP.

OASIS: Web Services Security UsernameToken Profile 1.0

Um elemento UsernameToken que contém o nome do usuário é utilizado na asserção de identidade. A asserção de identidade estabelece a identidade do usuário com base no relacionamento confiável.

O seguinte exemplo mostra a sintaxe do elemento <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>

A especificação do Web Services Security define os seguintes tipos de senha:

http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText (padrão)
Este tipo é a senha real para o nome do usuário.
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest
Este tipo é a compilação da senha para o nome do usuário. O valor é um valor de hash SHA1 codificado em base64 da senha codificada em UTF8.

O WebSphere Application Server suporta o tipo PasswordText padrão. No entanto, ele não suporta a compilação de senha porque a maioria dos critérios de segurança de registro de usuários não expõe a senha para o software aplicativo.

O exemplo a seguir ilustra o uso do elemento <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: Web Services Security UsernameToken Profile 1.1

O WebSphere Application Server suporta os padrões Username Token Profile 1.0 e Versão 1.1.

O WebSphere Application Server não suporta as seguintes funções:

  • Nas duas versões da especificação Username Token Profile, o tipo de senha digest não é suportado
  • Nas duas versões da especificação Username Token Profile, a derivação de chave baseada em uma senha não é suportada.

É possível usar os conjuntos de política para configurar o UsernameToken, usando o console administrativo. Além disso, é possível usar as APIs de Web Services Security para anexar o token Username à mensagem SOAP. A figura a seguir descreve a criação e a validação do token Username para os modelos de programação JAX-RPC e JAX-WS

Criando e Validando o Token Username Usando o JAAS Login Module e o JAAS CallbackHandler em JAX-RPC

Criando e Validando o Token Username Usando o JAAS Login Module e o JAAS CallbackHandler em JAX-RPC

Criando e Validando o Token Username Usando o JAAS Login Module e o JAAS CallbackHandler em JAX-WS

Criando e Validando o Token Username Usando o JAAS Login Module e o JAAS CallbackHandler em JAX-WS

Nota: A API do WSS fica disponível apenas quando o modelo de programação JAX-WS (Java™ API for XML-Based Web Services) está sendo utilizado.

No gerador, o token Username token é criado usando o JAAS LoginModule e o JAAS CallbackHandler para transmitir os dados de autenticação. O JAAS LoginModule cria o objeto UsernameToken e o transmite ao tempo de execução do Web Services Security.

No lado do consumidor, o formato XML do Token de Nome do Usuário é transmitido ao JAAS LoginModule para validação ou autenticação, e o JAAS CallbackHandler é usado para transmitir os dados de autenticação do tempo de execução do Web Services Security para o JAAS LoginModule. Depois que o token for autenticado, um objeto UsernameToken será criado e transmitido ao tempo de execução do Web Service Security.

O exemplo a seguir fornece o código de amostra para a criação de tokens Username:

WSSFactory factory = WSSFactory.getInstance();
   WSSGenerationContext gencont = factory.newWSSGenerationContext();
	
// Anexar o token username à mensagem.
   UNTGenerationCallbackHandler ugCallbackHandler = 
      newUNTGenerationCallbackHandler("alice", "ecila");
   SecurityToken ut = factory.newSecurityToken(ugCallbackHandler, 
                                               UsernameToken.class);
   gencont.add(ut);

// Gerar o cabeçalho WS-Security
gencont.process(msgctx);

Ícone que indica o tipo de tópico Tópico de Conceito



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_usernametokenv6
Nome do arquivo: cwbs_usernametokenv6.html