Quando o compositor se conecta ao GitHub, recebo um aviso sobre um método de autenticação de descontinuação. Que configuração de autenticação devo usar?

8

O GitHub começou a enviar e-mails sobre autenticação obsoleta, mas ainda não encontrei um recurso para detalhar como auth.jsondeve ser a aparência do compositor sob o novo regime.

Meus requisitos são relativamente simples - usar o compositor para atualizar um aplicativo Symfony em desenvolvimento e ocasionalmente experimentar outros repositórios.

Com isso, minha configuração original (criada automaticamente) ...

{
    "github-oauth": {
        "github.com": "(a string)"
    }
}

... recebo este aviso:

... seu token de acesso pessoal ... foi usado como parte de um parâmetro de consulta para acessar um terminal por meio da API do GitHub ... Em vez disso, use o cabeçalho HTTP de autorização ...

Mas quando tento com essa outra configuração:

{
    "http-basic": {
        "github.com": {
            "username": " my email address",
            "password": " my password "
        }    }
}

Eu recebo este outro aviso:

Recentemente, você usou uma senha para acessar um endpoint através da API do GitHub usando o Composer / 1.9.1 ... Recomendamos o uso de um token de acesso pessoal (PAT) com o escopo apropriado para acessar esse endpoint.

Como deve ser realmente e por que estou recebendo esses avisos de descontinuação?

geoB
fonte

Respostas:

4

Dessas duas configurações, a primeira é a correta.

A "string" deve ser seu PAT (Personal Access Token), configurado com os escopos de acesso apropriados no GitHub.

Para configurar os escopos do seu token, você precisa visitar as Configurações do desenvolvedor do GitHub -> Tokens de acesso pessoal .

O segundo formato tenta autenticar o envio de seu nome de usuário e senha em vez de um token gerado. Essa é uma má prática de segurança e não deve ser feita.

Mas a principal razão pela qual você está recebendo o primeiro aviso é porque está executando uma versão antiga do compositor .

Você precisa atualizar para a versão 1.9.3 , onde isso foi corrigido . Nas versões anteriores, você pode receber o aviso de descontinuação por causa de como o compositor se conecta ao GitHub.

yivi
fonte
No entanto, quando eu uso um token de acesso pessoal para atualizar um dos meus projetos Symfony, recebo o use the Authorization HTTP header insteademail.
geoB
@geo Como o seu repositório é definido? O que é isso type? vcs? git? github?
yivi 12/02
composer.jsonsó tem "type": "project". Nenhum dos outros elementos que você mencionou. Isso é verdade para cada projeto.
geoB
Ok, pensei que você tivesse definido um repositório privado. Em seguida, verifique a resposta editada. Você precisa atualizar o compositor para a versão mais recente. Se você ainda receber o aviso, exclua composer.locke reinstale, pois às vezes há URLs em cache no arquivo de bloqueio.
yivi 12/02
2

Atualize o compositor e o erro desaparecerá

php composer.phar self-update

ou

composer self-update
Mike S
fonte
Adicione mais algumas informações à sua resposta. Já existe uma resposta explicada aceita e muito boa e, ao adicionar outra, você deve fornecer mais informações
Nico Haase