Расширения атрибутов dotnetopenid просто не работают для меня! - PullRequest
0 голосов
/ 27 апреля 2010

Итак, вот код по запросу: -

                IAuthenticationRequest req = openid.CreateRequest(Request.Form["openid_identifier"]);


                //add extention requests here
                req.AddExtension(new ClaimsRequest
                    {
                        Email = DemandLevel.Request,
                        BirthDate = DemandLevel.Request,
                        Country = DemandLevel.Request,
                        FullName = DemandLevel.Request,
                        Gender = DemandLevel.Request,
                        Language = DemandLevel.Request,
                        Nickname = DemandLevel.Request,
                        PostalCode = DemandLevel.Request,
                        TimeZone = DemandLevel.Request
                    }
                );

                //get the request from openid
                return req.RedirectingResponse.AsActionResult();

А вот некоторые на пикапе: -

                        //get attributes from site
                        var sreg = response.GetExtension<ClaimsResponse>();

                        string sreg_email = "Unknown Email";
                        DateTime sreg_birthdate;
                        string sreg_birthdateraw;
                        Gender sreg_gender;
                        Version sreg_version;
                        string sreg_timezone;
                        string sreg_nickname;
                        string sreg_postalcode;
                        System.Globalization.CultureInfo sreg_culture;
                        string sreg_country;
                        string sreg_fullname;
                        System.Net.Mail.MailAddress sreg_mailaddress;
                        string sreg_language;

                        if (sreg != null)
                        {
                            sreg_email = sreg.Email;
                            sreg_birthdate = sreg.BirthDate.Value;
                            sreg_birthdateraw = sreg.BirthDateRaw;
                            sreg_country = sreg.Country;
                            sreg_culture = sreg.Culture;
                            sreg_fullname = sreg.FullName;
                            sreg_gender = sreg.Gender.Value;
                            sreg_language = sreg.Language;
                            sreg_mailaddress = sreg.MailAddress;
                            sreg_nickname = sreg.Nickname;
                            sreg_postalcode = sreg.PostalCode;
                            sreg_timezone = sreg.TimeZone;
                            sreg_version = sreg.Version;
                        }

Но все возвращается к нулю независимо от того, какой провайдер OpenId я использую ...

Я что-то упускаю из виду?

Rob

1 Ответ

0 голосов
/ 28 апреля 2010

Вы включили AXFetchAsSregTransform ? Кроме того, некоторые провайдеры не будут предоставлять вам никакой информации, если RP discovery не будет работать на вашем сайте и / или вы не опубликуете политику конфиденциальности в своем ClaimsRequest, чего я не вижу в вашем коде.

Некоторые провайдеры просто не предоставляют данные. Но MyOpenID.com - это один провайдер, который должен работать для вашего существующего сайта и кода (поскольку он не имеет дополнительных ограничений, которые я перечислил в последний раз, когда я проверял). Вы протестировали против MyOpenID.com?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...