Sobre a autenticação do Actions
Para fazer solicitações de API autenticadas em um fluxo de trabalho do Actions ou executar uma ação personalizada que exige um token, se possível, use o _TOKEN
interno. No entanto, o _TOKEN
só pode acessar recursos dentro do repositório do fluxo de trabalho. Para acessar recursos adicionais, como recursos em uma organização ou em outro repositório, use um App. Para saber por que usar um App em vez de um personal access token, confira Sobre a criação de Aplicativos do .
Autenticação com um App
Para usar um App a fim de fazer solicitações de API autenticadas, é necessário registrar o App, armazenar as credenciais do aplicativo e instalá-lo. Feito isso, é possível usar o aplicativo a fim de criar um token de acesso de instalação que é usado para fazer solicitações de API autenticadas em um fluxo de trabalho do Actions. Também é possível transmitir o token de acesso de instalação para uma ação personalizada que requer um token.
Registrar o App. Dê ao registro do App as permissões necessárias para acessar os recursos desejados. Para saber mais, confira Registrar um Aplicativo e Escolhendo permissões para um Aplicativo .
Armazene a ID do aplicativo do App como uma variável de configuração do Actions. Para encontrar a ID do aplicativo, acesse a página de configurações dele. A ID do aplicativo é diferente da ID do cliente. Para saber como acessar a página de configurações do App, confira Modificar um registro do Aplicativo . Para obter mais informações sobre como armazenar variáveis de configuração, confira Armazenar informações em variáveis.
Gerar uma chave privada para o seu aplicativo. Armazene o conteúdo do arquivo resultante como um segredo. (Armazene todo o conteúdo do arquivo, incluindo
-----BEGIN RSA PRIVATE KEY-----
e-----END RSA PRIVATE KEY-----
.) Para saber mais, confira Como gerenciar chaves privadas para Aplicativos . Para saber mais sobre como armazenar segredos, confira Usar segredos em ações do .Instale o App em sua conta de usuário ou organização e conceda a ele acesso aos repositórios que você deseja que o fluxo de trabalho acesse. Para saber mais, confira Instalando seu próprio Aplicativo .
No fluxo de trabalho do Actions, crie um token de acesso de instalação, que será usado para fazer solicitações de API.
Para fazer isso, você pode usar uma ação de propriedade de , conforme demonstrado no exemplo a seguir. Se preferir não usar essa ação, você poderá criar fork e modificar a ação
actions/create--app-token
ou escrever um script para fazer com que o fluxo de trabalho crie um token de instalação manualmente. Para saber mais, confira Como autenticar como uma instalação de Aplicativo .O fluxo de trabalho de exemplo a seguir usa a ação
actions/create--app-token
para gerar um token de acesso de instalação. Em seguida, o fluxo de trabalho usa o token para fazer uma solicitação de API por meio da CLI.No fluxo de trabalho a seguir, substitua
APP_ID
pelo nome da variável de configuração em que você armazenou a ID do aplicativo. SubstituaAPP_PRIVATE_KEY
pelo nome do segredo em que você armazenou a chave privada do aplicativo.
on: workflow_dis: jobs: demo_app_authentication: runs-on: ubuntu-latest steps: - name: Generate a token id: generate-token uses: actions/create--app-token@v1 with: app-id: ${{ vars.APP_ID }} private-key: ${{ secrets.APP_PRIVATE_KEY }} - name: Use the token env: GH_TOKEN: ${{ steps.generate-token.outputs.token }} run: | gh api octocat
on:
workflow_dis:
jobs:
demo_app_authentication:
runs-on: ubuntu-latest
steps:
- name: Generate a token
id: generate-token
uses: actions/create--app-token@v1
with:
app-id: ${{ vars.APP_ID }}
private-key: ${{ secrets.APP_PRIVATE_KEY }}
- name: Use the token
env:
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
run: |
gh api octocat