invalid_client no google oauth2

87

Eu tento fazer uma página da web para upload de vídeo do youtube, portanto, tento obter o ID do cliente do console da API do Google e no console da API mostra algo assim:

Client ID: 533832195920.apps.googleusercontent.com
Redirect URIs: http://bobyouku.ap01.aws.af.cm/testyoutube.php
https://developers.google.com/oauthplayground

No entanto, quando tento testar minha conta usando o seguinte URL:

https://accounts.google.com/o/oauth2/auth?client_id=533832195920.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Fbobyouku.ap01.aws.af.cm%2Ftestyoutube.php&scope=https%3A% 2F% 2Fwww.googleapis.com% 2Fauth% 2Fyoutube & response_type = código & access_type = offline

Ele fornece o resultado de invalid_client. Mesmo quando eu tento no oauth2 playground, ocorre a mesma falha

Então, alguém sabe o que está acontecendo?

Prumo
fonte
8
Descobri que às vezes o ID do cliente oauth2 não funciona. Não sei por que, mas quando abro uma nova conta e crio o id do cliente novamente, funciona.
Bob
3
Bob está certo, criar a id do cliente resolve este problema
Gabo Esquivel
11
Certifique-se de que, ao copiar / colar o ID do cliente, não inclua um espaço à direita. Isso funcionou para mim ...
andig
1
para mim, regenerei o segredo do cliente e usei-o para funcionar. Parece que a API ainda está instável.
Muhammad Talal

Respostas:

113

Defina / altere o nome do seu produto, tive esse problema até criar um nome de produto igual ao nome do projeto.

O nome do produto pode ser definido na seção Tela de consentimento do Google Developers Console de seu projeto. Procure em APIs e autenticação na navegação à esquerda e selecione Tela de consentimento. Você também precisa definir seu endereço de e-mail na caixa acima do nome do produto.

Jojay
fonte
4
Obrigado!! Estava recebendo o erro "" Erro: invalid_client. O cliente OAuth não foi encontrado. "Gastei várias horas hoje com isso, mas atualizei o nome do produto agora e pronto, o problema foi corrigido. Esse erro é muito enganador.
IanB
2
Qual é o nome do produto?
Hubert OG
4
Está na tela de consentimento. Você deve preencher o campo 'NOME DO PRODUTO'
Foo L
2
Isso funcionou. Apenas para ser sucinto: defina os campos ' NOME DO PRODUTO' E 'ENDEREÇO DE E- MAIL'.
b_archer
2
Obrigado! Salvei meu dia! E devo dizer, de todos os provedores sociais, o Google tem os piores documentos e a pior interface do usuário. É tão opressor e confuso com sua navegação ruim. Quase sempre esqueço como ir para a página de configuração do projeto rs.
tintinboss de
69

Após copiar os valores da IU da web do Google, eu tinha um espaço em branco para:

  • client_id
  • secret

E no INÍCIO e no FIM para ambos.

Rael Gugelmin Cunha
fonte
2
Este problema ainda persiste: P
Abhinay
1
Inacreditável, mesmo ao clicar no botão "copiar" no console da API ... Você pensaria que a área de desenvolvedores do Google seria sensível a espaços em branco!
Reisclef
Inacreditável também aqui. Exclua esses espaços extras em ambos os lados da string. Então, se depois de seguir tudo o que foi dito aqui e nada funcionar, exclua o aplicativo / projeto e recrie-o novamente porque pode haver problemas de cache.
eigenfield
1
Sim, o problema ainda existe !!! Puta merda. Omiti um espaço em branco e não o vi até verificar novamente. Obrigado.
LukasS de
1
maldito! Eu vi o espaço no final e removi-o, mas não verifiquei o espaço no início.
sulabh
41

Apare o espaço em branco à esquerda e à direita de client_ide client_secret. O botão de cópia do Google não faz isso por você.

insira a descrição da imagem aqui

Defina os campos de endereço de e-mail e nome do produto para a tela de consentimento OAuth.

insira a descrição da imagem aqui

Shaun Luttin
fonte
3
Você provavelmente não deveria deixar o segredo do seu cliente exposto em uma resposta como essa.
Fernando
1
@Fernando É uma conta descartável.
Shaun Luttin
Ufa. Me preocupava lá Shaun: D
Fernando
3
Como você chegou a essa tela?
Anthony Kong
2
"Jogue fora conta" - não para o Google, que rastreia você e agrupa todas as contas que você já usou para "contas associadas". E uma vez que o Google bane uma das contas - todo o pacote é bloqueado. Basta pesquisar "Conta de desenvolvedor do Google encerrada" no Reddit .
Alexander Farber
16

Definir ENDEREÇO ​​DE E-MAIL e NOME DO PRODUTO na tela de consentimento do console do desenvolvedor do Google resolve o erro "Erro: invalid_client. O cliente OAuth não foi encontrado." para mim.

S.Roshanth
fonte
9

Eu tinha .apps.googleusercontent.com duas vezes em meu ID.

Era um problema de copiar e colar "Seu ID AQUI" .apps.googleusercontent.com

Chris Carr
fonte
5
O meu era um espaço em branco deixado em cada extremidade: /
Christian
Obrigado Chris. Isso me ajudou.
Kiran Pawar,
7

neste tópico eu encontrei minha resposta.

  1. Eu fui para o console do google,
  2. gerar um novo projeto, feito atualização, pois no meu caso depois de criar a página não recarregou
  3. selecione um novo projeto
  4. criar um ID de cliente
  5. use para o que você precisa

obrigado pessoal: D

Pedro Romão
fonte
6

invalid_client também pode significar simplesmente que seu ID de cliente e segredo do cliente estão errados quando você cria seu objeto Oauth2.

jdcaron
fonte
5

No meu caso, isso acabou por ser outra coisa, ou seja, meu código usou uma variável de ambiente que não foi definida corretamente (e estupidamente não foi verificada pelo meu código). Configurá-lo, recompilar ativos e reiniciar o aplicativo resolveu o problema.

Josh Diehl
fonte
1
O mesmo aqui; Eu tinha configurado, mas esqueci de reiniciar meu terminal
quicklikerabbit
5

Se você seguir a documentação, a partir desta página https://developers.google.com/identity/sign-in/web/sign-in#specify_your_apps_client_id

Você vai ver

<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">

Mas está errado. Deveria ser

<meta name="google-signin-client_id" content="YOUR_CLIENT_ID">

O problema é que '.apps.googleusercontent.com' é adicionado mesmo assim. Se você fizer isso como a documentação diz, você obterá '.apps.googleusercontent.com' duas vezes

Aaronvargas
fonte
Muito obrigado. Mudar como você sugeriu funcionou.
Pavan Dittakavi
4

Resolvi isso removendo aspas desnecessárias de meus valores clientID e clientSecret.

OsoGrizz
fonte
Você, senhor / senhora, é uma lenda! Eu removi as aspas de minhas variáveis ​​de ambiente Heroku.
grabury
2

O erro também relatou que estava faltando um nome de aplicativo? Tive esse problema até criar um nome de projeto (por exemplo, "Projeto X") na caixa de diálogo de configurações do projeto.

random_stackoverflow_user
fonte
2

provavelmente credenciais antigas são inválidas

veja a resposta abaixo

resposta stackoverflow

ou nomes curtos podem funcionar

veja a resposta abaixo resposta stackoverflow

ou nome do produto igual ao nome do projeto já respondido

às vezes pode-se incluir espaço extra no

verifique duas vezes esta linha para que você seja redirecionado para o url correto

Charles Dominic
fonte
1

Resolvi meu problema com o acabamento:

'google' => [
    'client_id' =>trim('client_id),
    'client_secret' => trim('client_secret'),
    'redirect' => 'http://localhost:8000/login/google/callback',
],
Parastoo Amini
fonte
0

Verifique o nome do seu projeto no console de APIs do Google. você escolhe outro projeto que criou. Eu era mesmo erro. meu erro foi escolher um projeto diferente.

Dio Blando
fonte
0

Em Credenciais Aceite solicitações desses referenciadores HTTP (sites) (Opcional) Use asteriscos para caracteres curinga. Se você deixar este campo em branco, as solicitações de qualquer referenciador serão aceitas. Certifique-se de adicionar referenciadores antes de usar esta chave na produção. Adicionar . (estrela ponto estrela). Funciona bem para mim

HuyLe
fonte
0

Eu acidentalmente tinha um valor na parte do segredo do cliente do URL, mas a Credencial do Google não precisa de um segredo do cliente para IDs de cliente do Android OAuth 2. Simplesmente deixar o valor em branco no URL funcionou para mim.

Jason Washo
fonte
0

Passos que funcionaram para mim:

  1. Exclua as credenciais que não estão funcionando para você
  2. Crie novas credenciais com algum NAME
  3. Preencha o mesmo NOME em sua tela de consentimento OAuth
  4. Preencha o endereço de e-mail na tela de consentimento do OAuth

O nome deve ser exatamente o mesmo.

sintagma
fonte
0

Outra coisa a verificar:

Quando você instala o GoogleAPIs em um aplicativo .Net com NuGet, ele injeta um novo conjunto de valores fictícios em seu arquivo * .config.

Verifique se os valores originais ainda estão em vigor e remova as entradas fictícias.

Iain Ballard
fonte
0

Nenhum dos seguintes problemas era meu - resolvi isso abrindo uma janela anônima. Obviamente, algo estava sendo armazenado em cache em algum lugar, nenhuma quantidade de alterações nas configurações do cliente de autenticação ajudou e nunca houve espaços à direita ou à esquerda nos valores de configuração.

cloakedninjas
fonte
0

Excluir o ID do cliente e criar um novo algumas vezes funcionou para mim.

Haris ur Rehman
fonte
0

O meu não funcionou porque eu o criei a partir de um botão da documentação. Voltei ao projeto e criei outro OAuthClientID. Funcionou. Sim, tome cuidado com os espaços extras à direita e à esquerda também.

Hemant Sharma
fonte
0

Para obter os melhores resultados, certifique-se de ter os detalhes completos da seguinte forma:

{"client_id":"282324738-4labcgdsd4nlh34885s2d34tmi.apps.googleusercontent.com","project_id":"abcd23ss-212808","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://www.googleapis.com/oauth2/v3/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"23452-dfgdfgcdfgfd","redirect_uris":["http://localhost:6900/auth/google/callback"],"javascript_origins":["http://localhost:6900"]}

Esses dados estão sempre disponíveis para download como JSON em https://console.developers.google.com/apis/credentials/oauthclient/

Abhay Shiro
fonte
0

Se você estiver no Meteor JS, deverá usar clientId em vez de appId :

Já que o Facebook usa appId e google clientId.

ServiceConfiguration.configurations.upsert({
    service: "google"
}, {
    $set: {
        clientId: process.env.OAUTH_GOOGLE_APP_ID,
        loginStyle: "popup",
        secret: process.env.OAUTH_GOOGLE_SECRET
    }
});

Passei algumas horas para perceber isso.

Ivan Cabrera
fonte
0

Eu gostaria de ter visto este post antes, porque há muitas coisas que eu tive que descobrir por tentativa e erro. Muita coisa pode dar errado com isso. Aqui está outro problema que tive:

Quando você especifica as origens do Javascript autorizado ou os URIs de redirecionamento autorizados, certifique-se de incluir seu domínio com e sem www. Portanto, https://google.com e https://www.google.com

Também carreguei um logotipo do aplicativo. Por causa disso, a tela de consentimento exigiu uma revisão ... que leva uma eternidade. Não carregue o logotipo de um aplicativo ou seja muito paciente.

eliud
fonte