Credenciais do OAuth 2,0 para GitHub JWT

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 8 min. de leitura
  • Execute as etapas a seguir para integrar seus aplicativos do GitHub usando o token do portador JWT.

    Antes de começar

    Função necessária:

    • oauth_admin em Velocidade de mudança para DevOps.
    • Conta de administrador em GitHub.
      Nota:
      O tipo de concessão OAuth 2,0 JWT é compatível com GitHub e GitHub Enterprise com MID Server.

    Configure o. GitHub Em seu GitHub Conta (JWT)

    Criar um personalizado GitHub Aplicativo do seu GitHub Conta para habilitar a autenticação OAuth 2,0 com seu ServiceNow instância.

    Antes de Iniciar

    GitHub requisito: GitHub Aplicativo configurado para integrar com ServiceNow

    Função necessária: Nenhuma função de instância necessária

    Por Que e Quando Desempenhar Esta Tarefa

    Conclua estas etapas no seu GitHub conta. Confira Construção GitHub Apps em GitHub Site do desenvolvedor para obter instruções sobre como criar e configurar aplicações personalizadas.

    Procedimento

    1. Do seu GitHub, crie sua GitHub Navegando até Configurações do desenvolvedor > GitHub Apps.
    2. Em URL da página inicial campo, insira https://<instance-name>.service-now.com .
    3. Em URL de retorno de chamada de autorização do usuário campo, insira https://<instance-name>.service-now.com/oauth_redirect.do .
    4. Em Identificar e autorizar usuários desmarque Tokens de autorização do usuário expirados campo.
    5. Em Webhook , selecione Ativo campo.
    6. Em URL do webhook campo, insira https://<instance-name>.service-now.com/api/sn_devops/v2/devops/tool/apps?toolId=<Tool ID> , Em que ID da ferramenta é seu GitHub id da ferramenta (sys_id) de Velocidade de mudança para DevOps.
      Nota:
      Se você estiver criando a ferramenta recentemente e não tiver o ID da ferramenta, poderá inserir o URL do webhook sem o ID da ferramenta e configurá-lo posteriormente. Para configurar mais tarde:
      1. Navegue até a página de registro da ferramenta conectada.
      2. Selecione Configure o aplicativo GitHub e selecione Configuração automática com token existente .

        Configuração automática com token existente.

      Isso configura o URL do webhook do aplicativo GitHub automaticamente.
      Você pode obter o ID da ferramenta de uma das seguintes maneiras:
      • Ao se conectar com a ferramenta em Velocidade de mudança para DevOps, O ID da ferramenta está disponível no URL da página. Por exemplo, https://<instance-name>.service-now.com/.../sn_devops_tool/<Tool ID>/... .
      • Você pode copiar o URL do webhook do GitHub página de registro da ferramenta em Velocidade de mudança para DevOps. Configurar > Configurar manualmente > URLs do Webhook.
    7. Deixe os campos restantes em branco (padrão).
    8. Em Permissões do repositório defina as seguintes configurações.
      Ação Somente leitura
      Verificações Somente leitura
      Conteúdos Somente leitura
      Implantações Ler e gravar
      Ambientes Somente leitura
      Metadados Somente leitura
      Solicitações de extração Somente leitura
      Segredos Somente leitura
      Webhooks Ler e gravar
      Nota:
      Permissões de leitura e gravação são necessárias para configurar webhooks do ServiceNow.
      Nota:
      Se você já estiver usando um aplicativo GitHub e atualizar qualquer uma das permissões, revise e aceite essas permissões para o seu aplicativo GitHub Você pode navegar até seu app e selecionar Revisar solicitação > Aceitar novas permissões .
    9. Deixe as permissões restantes como Sem acesso (padrão).
    10. Em Assinar eventos , selecione Regra de proteção de implantação opção.
    11. Salve as mudanças.
    12. Depois de criar o. GitHub Gere uma nova chave privada e salve-a em sua máquina.
    13. Instale o recém-criado GitHub Nas contas de sua escolha.
      1. Na página de configurações do GitHub Apps, selecione seu app.
      2. Na barra lateral esquerda, selecione Instale o app .
      3. Selecione Instalar ao lado da organização ou da conta pessoal que contém o repositório correto.
      4. Instale o app em todos os repositórios ou selecione repositórios.
        Para obter mais informações, consulte Instalando aplicações do GitHub .

    Adicione o ID do cliente à propriedade DevOps

    Depois de configurar seu app GitHub, você deve garantir que o prefixo do ID do cliente (primeiros 3 ou mais caracteres do ID) seja adicionado à propriedade DevOps: Especificador de ID do cliente para o aplicativo GitHub .

    Antes de Iniciar

    Função necessária: sn_devops.admin

    Procedimento

    1. Navegar até Espaços > Espaço de mudança de DevOps > Administração > Configuração do sistema > Propriedades.
    2. Mude o escopo da aplicação para Modelo de dados DevOps.
    3. Pesquisar a propriedade: Especificador de ID do cliente para o aplicativo GitHub [sn_devops.github_oauth_client_id_specifier].
    4. Insira o prefixo do ID do cliente (primeiros 3 ou mais caracteres do ID) do seu aplicativo GitHub na propriedade.
    5. Selecione Save (Salvar).

    Gere o certificado Java Keystore para GitHub

    Gere um certificado Java Keystore (JKS) para a autenticação JWT.

    Antes de Iniciar

    Função necessária: administrador

    Procedimento

    1. Crie um certificado assinado por CA usando GitHub Chave privada da aplicação:
      openssl req -new -x509 -key <file-name>.pem -out <certificate-name>.pem -days 1095
    2. Insira os detalhes necessários.
    3. Crie o arquivo PKCS 12 usando GitHub Chave privada da aplicação e certificado assinado por CA:
      openssl pkcs12 -export -in <certificate-name>.pem -inkey <file-name>.pem -certfile <certificate-name>.pem -out <PKCS-12-file-name>.p12 
    4. Forneça a senha de exportação.
    5. Crie o arquivo JKS:
      keytool -importkeystore -srckeystore <PKCS-12-file-name>.p12 -srcstoretype pkcs12 -destkeystore <JKS-certificate-filename>.jks -deststoretype JKS
    6. Forneça as senhas do armazenamento de chaves de destino e de origem.

    Anexe o. GitHub Java KeyStore certificado para sua instância

    Habilite a autenticação de token de concessão do portador JWT anexando o certificado GitHub Java KeyStore (JKS) válido à sua instância da ServiceNow.

    Antes de Iniciar

    Garanta a disponibilidade de um certificado Java KeyStore válido.

    Função necessária: administrador

    Procedimento

    1. Navegar até Tudo > Definição do Sistema > Certificados.
    2. Selecione Novo.
    3. No formulário, preencha os campos.
      Tabela 1. Campos do formulário da certificação X.509
      Campo Descrição
      Nome Nome para identificar exclusivamente o registro. Por exemplo, Meu certificado do app GitHub .
      Notificar no vencimento Opção para especificar os usuários a serem notificados quando o certificado expirar.
      Aviso emitido antes do vencimento (em dias) Número de dias para enviar uma notificação antes que o certificado expire.
      Ativo Opção para habilitar o certificado.
      Tipo Opção para selecionar o tipo de certificado. Selecione Armazenamento de chaves Java.
      Dias até o vencimento Número de dias até o certificado expirar.
      Senha do armazenamento de chaves Senha associada ao certificado (dica: A senha do armazenamento de chaves de destino criada anteriormente).
      Descrição resumida Resumo sobre o certificado.
    4. Selecione o ícone Anexos ( Ícone AnexosE anexe um certificado JKS.
    5. Selecione Validar armazenamentos/certificados .

    Crie uma chave de assinatura JWT para GitHub Certificado JKS

    Crie uma chave de assinatura JSON Web Token (JWT) para atribuir ao seu GitHub Java KeyStore certificado.

    Antes de Iniciar

    Função necessária: administrador, sn_devops.admin

    Procedimento

    1. Navegar até Tudo > OAuth de Sistema > Chaves de JWT.
    2. Selecione Novo.
    3. No formulário, preencha os campos.
      Tabela 2. Campos do formulário de chaves de JWT
      Campo Descrição
      Nome Nome para identificar exclusivamente a chave de assinatura JWT. Por exemplo, Minha chave JWT da aplicação GitHub .
      Armazenamento de chaves de assinatura Certificado JKS válido anexado na tarefa anterior. Por exemplo, Meu certificado do app GitHub .
      ID de chave ID exclusivo para identificar qual chave é usada quando várias chaves são usadas para assinar tokens.
      Algoritmo de assinatura Algoritmo a ser assinado com a chave JWT (dica: RSA 256).
      Senha da chave de assinatura Senha associada à chave de assinatura (dica: A senha do armazenamento de chaves de origem criada anteriormente).
      Ativo Opção para habilitar a chave.
    4. Selecione Enviar.

    Crie um provedor JWT para seu GitHub chave de assinatura

    Adicione um provedor JSON Web Token (JWT) ao seu ServiceNow instância para GitHub.

    Antes de Iniciar

    Função necessária: administrador, sn_devops.admin

    Procedimento

    1. Navegar até Tudo > OAuth de Sistema > Provedores JWT.
    2. Selecione Novo.
    3. No formulário, preencha os campos.
      Tabela 3. Campos de formulário do Provedor JWT
      Campo Descrição
      Nome Nome para identificar o provedor JWT de forma única. Por exemplo, Provedor JWT da aplicação do GitHub .
      Intervalo de Vencimento (s) Número em segundos para definir a vida útil dos tokens do provedor JWT (dica: Você pode deixá-lo como padrão).
      Configuração de Assinatura Chave de assinatura JWT válida criada anteriormente. Por exemplo, Minha chave JWT da aplicação GitHub .
    4. Clique com o botão direito no cabeçalho do formulário e selecione “Salvar”.
    5. Insira seu GitHub Aplicação ID da aplicação (disponível em Sobre . GitHub Configuração da aplicação em GitHub) como o valor de iss Declaração, na lista relacionada Declarações padrão.
    6. Sair aud e. sub valores em branco (padrão).

    Registre-se GitHub Como um provedor OAuth (JWT)

    Use as informações geradas durante GitHub Configuração da conta da aplicação a ser registrada GitHub Como um provedor OAuth e permitir que a instância solicite tokens OAuth 2,0.

    Antes de Iniciar

    Função necessária: administrador, sn_devops.admin

    Procedimento

    1. Navegar até Tudo > OAuth de Sistema > Registro de aplicações.
    2. Selecione Novo.
      . Que tipo de aplicação OAuth? a mensagem é exibida.
    3. Selecione Conecte-se a um provedor OAuth de terceiros .
    4. No formulário, preencha os campos.
      Tabela 4. Campos do formulário Registro de aplicações
      Campo Descrição
      Nome Nome para identificar exclusivamente o registro. Por exemplo, insira Meu provedor de aplicações do GitHub .
      ID de cliente ID do cliente do seu GitHub(Dica: Disponível em Sobre . GitHub Configuração da aplicação em GitHub).
      Segredo do cliente Segredo do cliente do seu GitHub(Dica: Disponível em Sobre . GitHub Configuração da aplicação em GitHub).
      Script da API OAuth Opção que permite que você faça referência a uma inclusão de script OAuthUtil corrigida. Selecione OAuthDevOpsGitHubJWTHandler .
      Tipo de concessão padrão Tipo de concessão associada ao registro da aplicação. Selecione Portador JWT.
      URL do token O local do endpoint do token que a instância usa para recuperar e atualizar tokens.

      Para a versão em nuvem, insira: https://api.github.com/app/installations/<installation_id>/access_tokens .

      Para a versão empresarial, insira: https://<HOST_URL>/api/v3/app/instalations/<installation_id>/access_tokens .

      Para obter o ID de instalação, acesse a seção Instalar app na configuração do aplicativo GitHub no GitHub e selecione o ícone de engrenagem para configurar seu app. O ID de instalação estará no URL da página da web. Por exemplo, https://github.com/settings/installations/<installation_id>.

    5. Deixe o restante dos campos do formulário como padrão.
      Formulário Registro de aplicações
    6. Clique com o botão direito no cabeçalho do formulário e selecione “Salvar”.
    7. Abra o perfil padrão criado no Perfis de entidade OAuth lista relacionada.
    8. Preencha Provedor JWT Campo com o provedor JWT criado anteriormente e salve o formulário.
    9. Navegue até Gestão de chaves > Políticas de acesso ao módulo > Todos .
    10. Selecione a política que tem com_snc_platform_security_oauth_glideencrypter . Módulo de criptografia valor do campo e. Inclusão de script: OAuthDevOpsGitHubJWTHandler . Script de destino valor do campo.
    11. Certifique-se de Resultado o campo está definido como Rastrear e salvar as mudanças.
      O formulário que mostra o campo Resultado está definido para rastrear.

    Crie um registro de credencial para GitHub Provedor de aplicações (JWT)

    Crie um registro de credencial para GitHub Provedor de app criado anteriormente para autorizar ações.

    Antes de Iniciar

    Função necessária: administrador, sn_devops.admin

    Procedimento

    1. Navegar até Tudo > Conexões e Credenciais > Credenciais.
    2. Selecione Novo.
      . Que tipo de credenciais você deseja criar? a mensagem é exibida.
    3. Selecione Credenciais OAuth 2.0.
    4. No formulário, preencha os campos.
      Tabela 5. Campos do formulário Credenciais do OAuth 2,0
      Campo Valor necessário
      Nome Nome para identificar exclusivamente o registro. Por exemplo, insira Minha credencial do aplicativo GitHub .
      Ativo Opção para habilitar o registro.
      Perfil de Entidade OAuth Perfil de entidade OAuth padrão criado no Registro da aplicação.
    5. Salve o registro.
    6. Selecione Obter token OAuth Link relacionado para gerar o token OAuth.