Sağlayıcıdan OpenID infos almak için daha iyi bir yolu var mı?

0 Cevap php

Ben OpenID mantık için çok yeni, bu yüzden önemsiz bir şey soruyorum kusuruma bakmayın lütfen. Ben JanRain tarafından PHP OpenID kütüphanesi ile, Cakebaker tarafından CakePHP için OpenID bileşeni kullanıyorum.

Tüm oldukça iyi çalışıyor, ama ben sağlayıcı ve yöntemi (sreg vs balta) bağlı kullanıcı bilgilerini almak için kapsamlı bir yol bulamadı. Yani bu ben ile geldi budur:

if ($axResponse) {
    if (is_array($a = $axResponse->get('http://axschema.org/contact/email'))) {
        $user_record['email'] = $a[0];
        if (is_array($b = $axResponse->get('http://axschema.org/namePerson'))) {
            $user_record['nickname'] = $b[0];
        }
    } else if (is_array($a = $axResponse->get('http://schema.openid.net/contact/email'))) {
        $user_record['email'] = $a[0];
        if (is_array($b = $axResponse->get('http://schema.openid.net/namePerson'))) {
            $user_record['nickname'] = $b[0];
        }
    }
} else if ($sreg) {
    if (isset($sreg['email'])) {
        $user_record['email'] = $sreg['email'];
    }
    if (isset($sreg['nickname'])) {
        $user_record['nickname'] = $sreg['nickname'];
    }
}

Ben Google, Yahoo! ve AOL OpenID ile başarılı bir şekilde test olsa da, ben diğer / küçük sağlayıcılar ile sorun haline çalıştırmak eminim. , Aynı sonucun elde edilmesi için daha iyi ve güzel bir şekilde var mı? Ben isteğe bağlı diğer alanları almak çalışırsanız bu özellikle kusurlu görünüyor ...

Girdi ve önerileriniz için teşekkür ederiz!

0 Cevap