Gitea: OAuth2 + Github redirect_uri incompatível

Criado em 5 abr. 2018  ·  3Comentários  ·  Fonte: go-gitea/gitea

Abstrato

A documentação do OAuth2 precisa de detalhes de configuração.

Descrição

Ao configurar o método de autenticação OAuth2 para Github, um usuário é redirecionado para:
/user/oauth2/<authname>/callback?error=redirect_uri_mismatch&error_description=The+redirect_uri+MUST+match+the+registered+callback+URL+for+this+application.&error_uri=https%3A%2F%2Fdeveloper.github.com%2Fapps%2Fmanaging-oauth-apps%2Ftroubleshooting-authorization-request-errors%2F%23redirect-uri-mismatch
com um erro 500.

O problema parece ser com o URI de retorno de chamada não correspondendo a redirect_uri , mas segui a nomenclatura de URI de admin/auths/new .

Eu defini os bits relevantes (por exemplo, DISABLE_REGISTRATION = false e ENABLE_REVERSE_PROXY_AUTHENTICATION = true ) em meu / conf / app.ini customizado e não parece haver nada na folha de dicas ou nas seções de autenticação da documentação sobre este problema, e nenhum lugar para definir o URI de redirecionamento da interface da web.

Idealmente, isso seria fechado depois que a documentação fosse atualizada, fornecendo uma entrada para o FAQ de configuração do OAuth2 e a configuração 'boa' seria registrada nos documentos (de preferência com as outras coisas de autenticação).

Posso fazer relações públicas para os médicos, só preciso saber por que essa coisa aparentemente direta está sendo problemática.

Capturas de tela

2018 04 04 1511 47
2018 04 04 1513 13
2018 04 04 1519 58

Detalhes do servidor

  • Versão Gitea (ou commit ref): 1.4.0 + 3-g641d481c
  • Versão Git: 2.11.0
  • Sistema operacional: Debian GNU / Linux 9 (trecho)
  • Banco de dados (use [x] ):

    • [] PostgreSQL

    • [x] MySQL (mariadb)

    • [] MSSQL

    • [] SQLite

  • Você pode reproduzir o bug em https://try.gitea.io :

    • [] Sim (fornecer URL de exemplo)

    • [x] Não

    • [ ] Não é relevante

  • Registro:
    04/04/2018 22:19:25 [I] Modo de registro: Arquivo (rastreamento)
    04/04/2018 22:19:25 [I] Modo de registro XORM: Arquivo (rastreamento)
    04/04/2018 22:19:25 [I] Serviço de cache ativado
    04/04/2018 22:19:25 [I] Serviço de sessão ativado
    04/04/2018 22:19:25 [I] Versão Git: 2.11.0
    04/04/2018 22:19:25 [T] Fazendo: CheckRepoStats
    04/04/2018 22:19:25 [T] Fazendo: ArchiveCleanup
    04/04/2018 22:19:25 [T] Fazendo: DeletedBranchesCleanup
    04/04/2018 22:19:25 [I] Modo de execução: Produção
    04/04/2018 22:19:25 [I] Ouça: https://0.0.0.0 :
    04/04/2018 22:19:25 [I] Servidor LFS habilitado
    04/04/2018 22:19:31 [D] ID da sessão:cde9
    04/04/2018 22:19:31 [D] Token CSRF:==
    04/04/2018 22:19:31 [D] Modelo: user / auth / signin
    04/04/2018 22:19:32 [D] ID da sessão:cde9
    04/04/2018 22:19:32 [D] Token CSRF:==
    04/04/2018 22:19:33 [D] ID da sessão:cde9
    04/04/2018 22:19:33 [D] Token CSRF:==
    04/04/2018 22:19:33 [... routers / user / auth.go: 407 handleOAuth2SignIn ()] [E] UserSignIn: token inválido recebido do provedor
    04/04/2018 22:19:33 [D] Modelo: status / 500
kinquestion

Comentários muito úteis

Qual é o seu ROOT_URL definido? Tive o mesmo problema (incluindo o erro um tanto enganador 'Token inválido recebido ...'), mas descobri que tinha meu ROOT_URL definido como http: // foo , embora já o tivesse movido para https via apache httpd ( que é proxy reverso para gitea). Alterar meu ROOT_URL para https: // foo corrigiu o problema

Todos 3 comentários

Qual é o seu ROOT_URL definido? Tive o mesmo problema (incluindo o erro um tanto enganador 'Token inválido recebido ...'), mas descobri que tinha meu ROOT_URL definido como http: // foo , embora já o tivesse movido para https via apache httpd ( que é proxy reverso para gitea). Alterar meu ROOT_URL para https: // foo corrigiu o problema

Fechando, por favor, abra novamente se você ainda tiver isso.

Vim aqui porque experimentei isso e descobri que a resposta de @hnsr resolveu meu problema.
No entanto, não encontrei uma maneira de alterar meu ROOT_URL do frontend (realmente deveria haver).

Esta página foi útil?
3 / 5 - 1 avaliações