O que esse erro OpenID significa: Erro tentando usar informações de descoberta armazenadas

StackOverflow https://stackoverflow.com/questions/2165809

Pergunta

Estou tentando configurar um aplicativo usando Django-Openid e OpenID. Estou recebendo os seguintes erros e não consigo descobrir o que os está causando.

[Fri Jan 29 13:29:20 2010] [error] Generated checkid_setup request to https://www.google.com/accounts/o8/ud with assocication XXXXXXXXXXXXXX  
[Fri Jan 29 13:29:26 2010] [error] Error attempting to use stored discovery information: <openid.consumer.consumer.TypeURIMismatch: Required type http://specs.openid.net/auth/2.0/signon not found in ['http://specs.openid.net/auth/2.0/server', 'http://openid.net/srv/ax/1.0', 'http://specs.openid.net/extensions/ui/1.0/mode/popup', 'http://specs.openid.net/extensions/ui/1.0/icon', 'http://specs.openid.net/extensions/pape/1.0'] for endpoint <openid.consumer.discover.OpenIDServiceEndpoint server_url='https://www.google.com/accounts/o8/ud' claimed_id=None local_id=None canonicalID=None used_yadis=True >>  
[Fri Jan 29 13:29:26 2010] [error] Attempting discovery to verify endpoint  
[Fri Jan 29 13:29:26 2010] [error] Performing discovery on https://www.google.com/accounts/o8/id?id=PrHw_N5_3j1HM  
[Fri Jan 29 13:29:26 2010] [error] Received id_res response from https://www.google.com/accounts/o8/ud using association XXXXXXXXXXXXX  

Parece que o Python não pode usar as informações que estão sendo recuperadas do Google. Este erro é por causa dos dados provenientes do Google ou é um problema com o OpenID?

Foi útil?

Solução

Hum. Na verdade, isso não é um erro fatal; Eu recebo a mesma coisa ao usar o exemplo do consumidor Python-Openid no Identificador OP do Google (o/Accounts/O8/ID que gera os identificadores engraçados direcionados), mas ele faz login com sucesso.

Isso provavelmente causa algum spam de log se você tiver um botão "Faça login com o Google" e a biblioteca talvez possa ser inteligente para não tentar usar as informações de descoberta armazenadas quando foi para um identificador de OP, mas se você não conseguir registrar Por outro lado, outra coisa é o seu problema.

Outras dicas

Isso acontece quando o URL fornecido é o URL do servidor, em vez do identificador reivindicado. É um erro genuíno para o caminho que o gera, porque o URL não pode ser usado como identificador, mas é capturado internamente e usado para solicitar um identificador verdadeiro do servidor, por isso é seguro ignorar as mensagens de log. No entanto, um relatório de bug foi enviado ao projeto Python-Openid no GitHub, com uma correção proposta.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top