php-openid não funciona com o yahoo
-
26-09-2019 - |
Pergunta
Estou tentando usar a biblioteca PHP-Openid para implementar o OpenID no meu site. O exemplo básico do consumidor dentro de seu pacote não funciona para o Google e o Yahoo. Encontrei a solução do Google aqui:Exemplo de uso do AX no PHP OpenIDMas ainda não funciona para o Yahoo! . Como posso fazer isso funciona?
Solução
uau, está resolvido agora !!!!!
Eu rastreei as funções e encontrei o problema.
"$attribute[] = Auth_OpenID_AX_AttrInfo::make('http://axschema.org/contact/email',2,1, 'email');"
Para obter o e -mail do usuário do provedor. Funciona bem no Google porque o Google ignora '2' (contagem do endereço de e -mail solicitado), mas no Yahoo! Ele gera [count.Email] => 2 para ele (na função getSignedns) e na resposta do Yahoo, não há entrada para contagem.ail. Isso faz com que retorne nulo em getsignedns para o yahoo. eu mudei
"$attribute[] = Auth_OpenID_AX_AttrInfo::make('http://axschema.org/contact/email',2,1, 'email');"
para
"$attribute[] = Auth_OpenID_AX_AttrInfo::make('http://axschema.org/contact/email',1,1, 'email');"
E funciona bem agora e retorne o que eu solicitou de ambos os provedores !!!
lol...