AuthnRequest Definições no OAM e no SP
Este artigo lista as várias definições de OAM/SP que afetam como uma mensagem AuthnRequest é criada no OAM em um fluxo de SSO de Federação. A mensagem AuthnRequest é usada por um SP para iniciar uma operação SSO de Federação e para indicar ao IdP como a operação deve ser executada:
- Como o usuário deve ser desafiado em IdP
- Se o usuário deve ou não ser desafiado no IdP, mesmo que já exista uma sessão no IdP para esse usuário
- Qual formato
NameIDdeve ser solicitado na Asserção SAML - Qual binding (Artifact ou HTTP-POST) deve ser solicitado do IdP para enviar a Asserção
- Qual perfil deve ser usado pelo OAM/SP para enviar a mensagem AuthnRequest
Protocolos
Os protocolos SAML 2.0, SAML 1.1 e OpenID 2.0 definem diferentes elementos de mensagem e regras que permitem que um administrador influencie os fluxos de SSO de Federação de maneiras diferentes, quando o SP dispara uma operação SSO:
- O SAML 2.0 permite ampla personalização por meio da mensagem AuthnRequest
- O SAML 1.1 não permite nenhuma personalização, pois as especificações não definem uma mensagem de solicitação de autenticação
- O OpenID 2.0 permite alguma personalização, principalmente por meio das extensões do OpenID 2.0, como PAPE ou UI
SAML 2.0
O OAM/SP permite a personalização da mensagem SAML 2.0 AuthnRequest para os seguintes elementos:
ForceAuthn:
- Booliano que indica se o IdP deve ou não forçar o usuário a reautenticação, mesmo que o usuário ainda tenha uma sessão válida
- Por padrão, defina como falso
IsPassive
- Booliano que indica se o IdP pode ou não interagir com o usuário como parte da operação SSO de Federação.
- Se for falso, a operação SSO da Federação poderá resultar em uma falha com o código de erro NoPassive, porque o IdP não é capaz de identificar o usuário
- Por padrão, defina como falso
RequestedAuthnContext
- Elemento que indica como o usuário deve ser desafiado em IdP
- Se o SP solicitar um Método de Autenticação de Federação desconhecido para o IdP ou para o qual o IdP não está configurado, o fluxo SSO de Federação resultará em uma falha com o código de erro
NoAuthnContext - Por padrão, ausente
NameIDPolicy
- Elemento indicando qual formato
NameIDo IdP deve incluir na Asserção SAML - Se o SP solicitar um formato
NameIDdesconhecido para IdP ou para o qual o IdP não está configurado, o fluxo SSO da Federação resultará em uma falha com o código de erroInvalidNameIDPolicy - Se estiver faltando, o formato IdP geralmente usa o formato NameID padrão configurado para este parceiro SP no IdP
- Por padrão, ausente
ProtocolBinding
- Elemento indicando qual vinculação SAML deve ser usada pelo IdP para redirecionar o usuário para o SP com a Asserção SAML
- Definir como Artefato ou HTTP-POST
- Por padrão, definido como HTTP-POST
O OAM/SP também permite que o administrador configure o servidor para:
- Defina qual binding deve ser usado pelo OAM/SP para redirecionar o usuário para IdP com a mensagem SAML 2.0 AuthnRequest:
- Redirecionar ou HTTP-POST
- Por padrão, definido como Redirecionar
- Defina qual binding deve ser usado pelo OAM/SP para redirecionar o usuário para o IdP durante o log-out com mensagens de Log-out do SAML 2.0:
- Redirecionar ou HTTP-POST
- Por padrão, definido como Redirecionar
SAML 1.1
As especificações SAML 1.1 não definem uma mensagem para o SP para enviar ao IdP quando uma operação SSO de Federação é iniciada. Como tal, não há capacidade de configurar o OAM/SP sobre como afetar o início do fluxo SSO da Federação.
OpenID 2.0
OpenID 2.0 define várias extensões que podem ser usadas pelo SP/RP para afetar a forma como a operação SSO de Federação ocorre:
Solicitação OpenID:
mode: String indicando se o IdP/OP pode interagir visualmente com o usuáriocheckid_immediatenão permite que o IdP/OP interaja com o usuáriocheckid_setuppermite interação do usuário- Por padrão, defina como
checkid_setup
Extensão PAPE:
max_auth_age: Número inteiro que indica em segundos o tempo máximo desde quando o usuário foi autenticado em IdP. SeMaxAuthnAgefor maior que o tempo desde quando o usuário foi autenticado pela última vez em IdP, o usuário deverá ser reprocessado.- OAM/SP define este atributo como 0 se o administrador tiver configurado
ForceAuthncomo verdadeiro; caso contrário, este atributo não será definido - Padrão ausente
preferred_auth_policies
- Contém um Método de Autenticação de Federação
- Elemento que indica como o usuário deve ser desafiado em IdP
- Por padrão, ausente
- Somente especificado na solicitação OpenID se o IdP/OP suportar PAPE no XRDS, se a descoberta OpenID for usada.
Extensão da IU
- Modo pop-up
- Booliano indicando que o modo pop-up está ativado para o SSO da Federação
- Por padrão, ausente
Preferência de Idioma
- String contendo o idioma preferencial, definido com base nas preferências de idioma do navegador.
- Por padrão, ausente
Ícone:
- Booliano indicando se o recurso de ícone está ativado. Nesse caso, o IdP/OP examina o SP/RP XRDS para determinar como recuperar o ícone
- Por padrão, ausente
- Somente especificado na solicitação OpenID se o IdP/OP suportar a Extensão da Interface do Usuário no XRDS, se a descoberta OpenID for usada.
ForceAuthn e IsPassive
Comando WLST
O OAM/SP fornece o comando WLST configureIdPAuthnRequest() para definir:
ForceAuthn como um booliano:
- Em um SAML 2.0 AuthnRequest, o campo
ForceAuthné definido como verdadeiro ou falso - Em uma solicitação OpenID 2.0, se
ForceAuthnna configuração tiver sido definido como verdadeiro, o campomax_auth_ageda solicitação PAPE será definido como 0; caso contrário,max_auth_agenão será definido
IsPassive como um booliano:
- Em um SAML 2.0 AuthnRequest, o campo
IsPassiveé definido como verdadeiro ou falso - Em uma solicitação OpenID 2.0, se
IsPassivena configuração tiver sido definido como verdadeiro, o campo de modo da solicitação OpenID será definido comocheckid_immediate; caso contrário, definido comocheckid_setup
Teste
Neste teste, o OAM/SP é integrado com um Parceiro SAML 2.0 IdP remoto, com a configuração do OOTB. Com base nessa configuração, quando o OAM/SP inicia um fluxo de SSO de Federação, o seguinte SAML 2.0 AuthnRequest é gerado:
<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
<saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
<samlp:NameIDPolicy AllowCreate="true"/> </samlp:AuthnRequest>
Vamos configurar o OAM/SP para esse Parceiro IdP, para que o SP exija que o IdP refaça o desafio ao usuário, mesmo que ele já tenha sido autenticado:
- Informe o ambiente WLST executando:
$IAM_ORACLE_HOME/common/bin/wlst.sh - Conecte-se ao servidor de Administração WLS:
connect() - Navegue até a ramificação Runtime do Domínio:
domainRuntime() - Execute o comando configureIdPAuthnRequest():
configureIdPAuthnRequest(partner="AcmeIdP", forceAuthn="true") - Saia do ambiente WLST:
exit()
Após as alterações, o SAML 2.0 AuthnRequest a seguir é gerado:
<samlp:AuthnRequest ForceAuthn="true" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP- POST" ID="id- E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4" Version="2.0" IssueInstant="2014-04-01T21:39:14Z" Destination="https://acme.com/saml20/sso">
<saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com/oam/fed</saml:Issuer>
<samlp:NameIDPolicy AllowCreate="true"/> </samlp:AuthnRequest>
Para exibir ou excluir as definições de ForceAuthn/IsPassive, execute as seguintes operações:
- Informe o ambiente WLST executando:
$IAM_ORACLE_HOME/common/bin/wlst.sh - Conecte-se ao servidor de Administração WLS:
connect() - Navegue até a ramificação Runtime do Domínio:
domainRuntime() - Execute o comando
configureIdPAuthnRequest()para exibir as definições ForceAuthn/IsPassive no parceiroconfigureIdPAuthnRequest(partner="AcmeIdP", displayOnly="true") - Para excluir as definições ForceAuthn/IsPassive do parceiro
configureIdPAuthnRequest(partner="AcmeIdP", delete="true") - Saia do ambiente WLST:
exit()
Método de autenticação Fed. solicitado
No artigo "Fed Authentication Method Requests in OAM / SP", discutimos como o OAM/SP pode ser configurado para solicitar um Método de Autenticação de Federação específico do IdP ao iniciar uma operação SSO de Federação, definindo elementos na mensagem de solicitação SSO.
Comando WLST
Os comandos WLST do OAM que podem ser usados são:
-
setIdPPartnerProfileRequestAuthnMethod()que configura o Método de Autenticação da Federação solicitado em um Perfil de Parceiro IdP específico e aceita os seguintes parâmetros:partnerProfile: nome do Perfil do Parceiro IdPauthnMethod: o Método de Autenticação da Federação a ser solicitadodisplayOnly: um parâmetro opcional que indica se o método deve exibir o Método de Autenticação da Federação solicitado no momento, em vez de defini-lodelete: um parâmetro opcional que indica se o método deve excluir o Método de Autenticação da Federação solicitado no momento, em vez de defini-lo
-
setIdPPartnerRequestAuthnMethod()que configura a entrada do Parceiro IdP especificada com o Método de Autenticação da Federação solicitado e aceita os seguintes parâmetros: -
partner: nome do Parceiro IdP -
authnMethod: o Método de Autenticação da Federação a ser solicitado -
displayOnly: um parâmetro opcional que indica se o método deve exibir o Método de Autenticação da Federação solicitado no momento, em vez de defini-lo -
delete: um parâmetro opcional que indica se o método deve excluir o Método de Autenticação da Federação solicitado no momento, em vez de defini-lo
Isso se aplica aos protocolos SAML 2.0 e OpenID 2.0. Consulte o artigo "Fed Authentication Method Requests in OAM / SP" para obter mais informações.
Teste
Neste teste, o OAM/SP é integrado com um Parceiro SAML 2.0 IdP remoto, com a configuração do OOTB. Com base nessa configuração, quando o OAM/SP inicia um fluxo de SSO de Federação, o seguinte SAML 2.0 AuthnRequest é gerado:
<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
<saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
<samlp:NameIDPolicy AllowCreate="true"/> </samlp:AuthnRequest>
Vamos configurar o OAM/SP desse Parceiro IdP para que o SP solicite o IdP para usar um mecanismo mapeado para o Método de Autenticação da Federação urn:oasis:names:tc:SAML:2.0:ac:classes:X509 para autenticar o usuário:
- Informe o ambiente WLST executando:
$IAM_ORACLE_HOME/common/bin/wlst.sh - Conecte-se ao servidor de Administração WLS:
connect() - Navegue até a ramificação Runtime do Domínio:
domainRuntime() - Execute o comando
setIdPPartnerRequestAuthnMethod():setIdPPartnerRequestAuthnMethod("AcmeIdP", "urn:oasis:names:tc:SAML:2.0:ac:classes:X509") - Saia do ambiente WLST:
exit()
Após as alterações, o SAML 2.0 AuthnRequest a seguir é gerado:
<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
<saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com /oam/fed</saml:Issuer>
<samlp:NameIDPolicy AllowCreate="true"/>
<samlp:RequestedAuthnContext
Comparison="minimum">
<saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
urn:oasis:names:tc:SAML:2.0:ac:classes:X509
</saml:AuthnContextClassRef>
</samlp:RequestedAuthnContext> </samlp:AuthnRequest>
Formato NameID
O protocolo SAML 2.0 permite que o SP solicite ao IdP um formato NameID específico a ser usado quando a Asserção for emitida pelo IdP.
Observação: SAML 1.1 e OpenID 2.0 não fornecem esse mecanismo
Configurando o OAM
O administrador pode configurar o OAM/SP para solicitar um formato NameID no SAML 2.0 AuthnRequest via:
- A Console de Administração do OAM, na entrada Parceiro IdP
- O comando WLST
setIdPPartnerNameIDFormat()do OAM que modifica a configuração do Parceiro IdP
Console de Administração do OAM
Para configurar o formato NameID solicitado pela Console de Administração do OAM, execute as seguintes etapas:
- Vá para a Console de Administração do OAM:
http(s)://oam-admin-host:oam-adminport/oamconsole - Navegue até Federação de Identidades, Administração do Provedor de Serviços
- Abra o Parceiro IdP que deseja modificar
- Na caixa drop-down Formato de Solicitação de Autenticação
NameIDcom um dos valores:None: O formatoNameIDé definido como PadrãoEmail Address: O formatoNameIDserá definido comourn:oasis:names:tc:SAML:1.1:nameidformat:emailAddressX.509 Subject: O formatoNameIDserá definido comourn:oasis:names:tc:SAML:1.1:nameidformat:X509SubjectNameWindows Name Qualifier: O formatoNameIDserá definido comourn:oasis:names:tc:SAML:1.1:nameidformat:WindowsDomainQualifiedNameKerberos: O formatoNameIDserá definido comourn:oasis:names:tc:SAML:2.0:nameidformat:kerberosTransient: O formatoNameIDserá definido comourn:oasis:names:tc:SAML:2.0:nameidformat:transientUnspecified: O formatoNameIDserá definido comourn:oasis:names:tc:SAML:1.1:nameidformat:unspecifiedCustom: Nesse caso, um campo é exibido permitindo que o administrador indique o formatoNameIDpersonalizado para usar O formatoNameIDserá definido com o formato especificado- Persistent
: TheNameIDformat will be seturn:oasis:names:tc:SAML:2.0:nameidformat:persistentwe selectedEmail Address` neste exemplo
- Clique em Salvar

Descrição da ilustração OAM_Administration_Console.jpg
Descrição da ilustração OAM Administration Console.jpg
Comando WLST
Para configurar o formato NameID solicitado por meio do comando WLST setIdPPartnerNameIDFormat() do OAM, execute as seguintes etapas:
- Informe o ambiente WLST executando:
$IAM_ORACLE_HOME/common/bin/wlst.sh - Conecte-se ao servidor de Administração WLS:
connect() - Navegue até a ramificação Runtime do Domínio:
domainRuntime() - Execute o comando setIdPPartnerNameIDFormat():
setIdPPartnerNameIDFormat("PARTNER", "FORMAT", customFormat="CUSTOM")- Substituir PARCEIRO pelo nome do Parceiro IdP
- Substitua FORMAT por um dos seguintes:
orafed-none: O formato NameID será definido como Padrãoorafed-emailaddress: O formato NameID será definido comourn:oasis:names:tc:SAML:1.1:nameidformat:emailAddressorafed-x509: O formato NameID será definido comourn:oasis:names:tc:SAML:1.1:nameidformat:X509SubjectNameorafed-windowsnamequalifier: O formato NameID será definido comourn:oasis:names:tc:SAML:1.1:nameidformat:WindowsDomainQualifiedNameorafed-kerberos: O formato NameID será definido comourn:oasis:names:tc:SAML:2.0:nameidformat:Kerberosorafed-transient: O formato NameID será definido comourn:oasis:names:tc:SAML:2.0:nameidformat:transientorafed-unspecified: O formato NameID será definido comourn:oasis:names:tc:SAML:1.1:nameidformat:unspecifiedorafed-custom: Nesse caso, um campo é exibido permitindo que o administrador indique o formato NameID personalizado a ser usado. O formato NameID será definido como o formato especificadoorafed-persistent: O formato NameID será definido comourn:oasis:names:tc:SAML:2.0:nameidformat:persistentcustomFormatprecisará ser definido se FORMAT for definido comoorafed-customUm exemplo é:setIdPPartnerNameIDFormat("AcmeIdP", "orafed-emailaddress")
- Saia do ambiente WLST:
exit()
Teste
Neste teste, o OAM/SP é integrado com um Parceiro SAML 2.0 IdP remoto, com a configuração do OOTB. Com base nessa configuração, quando o OAM/SP inicia um fluxo de SSO de Federação, o seguinte SAML 2.0 AuthnRequest é gerado:
<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
<saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
<samlp:NameIDPolicy AllowCreate="true"/>
</samlp:AuthnRequest>
Após as alterações executadas pela Console de Administração do OAM ou pelo comando WLST setIdPPartnerNameIDFormat() do OAM, em que o Endereço de E-mail é solicitado como o Formato NameID, o SAML 2.0 AuthnRequest a seguir é gerado:
<samlp:AuthnRequest ForceAuthn="false"
IsPassive="false"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
<saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
<samlp:NameIDPolicy
Format="urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress" AllowCreate="true"/> </samlp:AuthnRequest>
Bind do protocolo
As especificações SAML 2.0 definem uma forma de o SP solicitar qual binding deve ser usado pelo IdP para redirecionar o usuário para o SP com a Asserção SAML 2.0: o atributo ProtocolBinding indica o binding que o IdP deve usar. Ele é definido como:
- Seja
urn:oasis:names:tc:SAML:2.0:bindings:HTTPPOSTpara HTTP-POST - Ou
urn:oasis:names:tc:SAML:2.0:bindings:Artifactpara Artefato
As especificações SAML 2.0 também definem maneiras diferentes de redirecionar o usuário do SP para o IdP com a mensagem SAML 2.0 AuthnRequest, pois o SP pode enviar a mensagem:
- Ou via Redirecionamento HTTP
- Ou HTTP POST
- (Outras associações teoricamente podem ser usadas, como Artefato, mas elas não são usadas na prática)
Configurando o OAM
O OAM pode ser configurado:
- Por meio da Console de Administração do OAM ou do comando WLST
configureSAMLBinding()do OAM para definir o binding de Resposta de Asserção a ser usado - Por meio do comando WLST
configureSAMLBinding()do OAM para indicar como a mensagem SAML AuthnRequest deve ser enviada
Observação: O binding para enviar a mensagem SAML 2.0 AuthnRequest também será usado para enviar as mensagens SAML 2.0
LogoutRequesteLogoutResponse.
Console de Administração do OAM
Para configurar o Binding de Resposta/Asserção de SSO por meio da Console de Administração do OAM, execute as seguintes etapas:
- Vá para a Console de Administração do OAM:
http(s)://oam-admin-host:oam-adminport/oamconsole. - Navegue até Federação de Identidades, Administração do Provedor de Serviços.
- Abra o Parceiro IdP que deseja modificar.
- Marque a caixa "Binding de Resposta HTTP POST SSO" para solicitar o IdP para retornar a Resposta SSO via HTTP POST; caso contrário, desmarque-a para solicitar o artefato.
- Clique em Salvar.

Descrição da ilustração SSO_Response_Assertion_Configuration.jpg
Comando WLST
Para configurar o Binding de Resposta/Asserção de SSO, bem como o Binding de AuthnRequest, por meio do comando WLST configureSAMLBinding() do OAM, execute as seguintes etapas:
- Informe o ambiente WLST executando:
$IAM_ORACLE_HOME/common/bin/wlst.sh - Conecte-se ao servidor de Administração WLS:
connect() - Navegue até a ramificação Runtime do Domínio:
domainRuntime() - Execute o comando
configureSAMLBinding():configureSAMLBinding("PARTNER", "PARTNER_TYPE", binding, ssoResponseBinding="httppost") - Substituir PARCEIRO pelo nome do Parceiro
- Substitua PARTNER_TYPE pelo tipo de Parceiro (idp ou sp)
- Substitua a vinculação pela vinculação a ser usada para enviar as mensagens AuthnRequest e
LogoutRequest/LogoutResponse(deve ser httpredirect na maioria dos casos; padrão) httppostpara binding HTTP-POSThttpredirectpara associação HTTP-Redirect- Especifique opcionalmente
ssoResponseBindingpara indicar como a Asserção de SSO deve ser enviada de volta httppostpara binding HTTP-POSTartifactforpara binding de Artefato. Um exemplo é:configureSAMLBinding("AcmeIdP", "idp", "httpredirect", ssoResponseBinding="httppost")- Saia do ambiente WLST:
exit()
Teste
Neste teste, o OAM/SP é integrado com um Parceiro SAML 2.0 IdP remoto, com a configuração do OOTB que solicita o HTTP-POST de IdP para enviar a Asserção de SSO. Com base nessa configuração, quando o OAM/SP inicia um fluxo de SSO de Federação, o seguinte SAML 2.0 AuthnRequest é gerado:
<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
<saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
<samlp:NameIDPolicy AllowCreate="true"/> </samlp:AuthnRequest>
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
AuthnRequest Settings in OAM and SP
F59885-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.