Como configurar um provedor de OAuth e OIDC para aceitar token de terceiros
É possível configurar um provedor de OAuth e OIDC para aceitar tokens de identidade gerados por um provedor de OIDC terceirizado usando chamadas de API de entrada com a opção de Single Sign-On (SSO de vários provedores).
Antes de Iniciar
Por Que e Quando Desempenhar Esta Tarefa
Procedimento
Abaixo, há um exemplo de uma solicitação cURL para acionar uma chamada de REST API
Acione uma chamada de REST API.Execute as seguintes ações:
- Registre o app no provedor de OpenID Connect.
- Configure a entidade OIDC do OAuth.
- Configure o provedor de OIDC:
Tabela 1. Provedor de OIDC Provedor de OIDC Nome do provedor de OIDC. URL de Metadados OIDC Especifique a URL de metadados OIDC (URL de configuração conhecida). Essas informações são usadas para obter as chaves públicas para validar o token por meio do endpoint jwks. Declaração do usuário A declaração que é validada em relação à tabela do usuário. Campo de usuário Declaração do usuário que identifica o registro do usuário. Ativar a verificação de declaração JTI Quando ativada, a validação do token JWT da ServiceNow também validará o JTI enviado pelo provedor. Nota:Se a validação não for verificada, não será possível validar o jti, independentemente de estar presente no token JWT. O nome da declaração no token deve ser jti. Essas informações são usadas para impedir ataques de repetição. - Obtenha um token JWT.
- Acione uma chamada de REST API.
- O token de ID no cabeçalho de autorização para acessar a API da tabela ou os Serviços web com script.
curl -X GET --header "Accept:application/json" https://<instance_name>.service-now.com/api/now/table/incident/897b04f2dbd4a300a135364e9d961952 -k --header "Authorization: Bearer eyJraWQiOiJjNTZtZTlXU0xPVnY3UFMwcTg4Qzl1b0lzNjFQYTdmUG4yZFVFOW9RNUg4IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiIwMHVnZDg1OD VkczI1WXpUSjBoNyIsIm5hbWUiOiJpbXJhbiBhbGkiLCJsb2NhbGUiOiJlbi1VUyIsImVtYWlsIjoiaW1yb241NDNAZ21haWwuY29tIiwidmVyIjoxLCJpc3MiOiJodHRwczovL2Rldi05MzQ xMjEub2t0YXByZXZpZXcuY29tIiwiYXVkIjoiMG9hZ2Q4bzk3a2lCT3dwd0IwaDciLCJpYXQiOjE1Mzc5MzMzMjYsImV4cCI6MTUzNzkzNjkyNiwianRpIjoiSUQueThVdXpWNUg2bm16SzRs OTI1RFVrQnJoR1o1MmJzVVpGVHRVTEphQjg3ayIsImFtciI6WyJwd2QiXSwiaWRwIjoiMDBvZ2Q4NTgycEFqZDZTemcwaDciLCJub25jZSI6InNub3ciLCJwcmVmZXJyZWRfdXNlcm5hbWUiO iJpbXJvbjU0M0BnbWFpbC5jb20iLCJnaXZlbl9uYW1lIjoiaW1yYW4iLCJmYW1pbHlfbmFtZSI6ImFsaSIsInpvbmVpbmZvIjoiQW1lcmljYS9Mb3NfQW5nZWxlcyIsInVwZGF0ZWRfYXQiOj E1Mzc5MzAxOTcsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdXRoX3RpbWUiOjE1Mzc5Mjk2NjF9.OG87SYxWFgHGlhBYby2H79diRm9rlYZTeEkIINRUatwg-p4739htB8xEY-5_t6yU_6k5w1 0pdgtt5M5QFZRPXVbQZNoGtY-Bxn0BjaimcFgoWfhY_0ldnGTkzN2RYyIHvrf9-yhxg347zvczmLrgMMa_VwG4rxrtE6rUXaIpIeIK5b-Deq8ADz8UTUTKpF_5RWk4X-oh5xK6BLniFHk4ShO Zq2v_mjproXwKk5euJKrVrar2lQ4adZCOSTRuTf3ThMO5WDh0sel-82LngXtLzRJJ51IqxAsXns0kJHLLqLtH1hXNRKfwT1ScQoE_OfWm4t0KryI2j4wSMEanFtLXIw" - Se o usuário for autenticado, uma resposta de aplicação/json válida será exibida. Caso contrário, será exibida uma mensagem de erro de usuário não autenticado.
User Not Authenticated {"error":{"message":"User Not Authenticated","detail":"Required to provide Auth information"},"status":"failure"}
- O token de ID no cabeçalho de autorização para acessar a API da tabela ou os Serviços web com script.