2010-04-27 31 views
0

所以這裏就要求一些代碼: -dotnetopenid屬性擴展只是不適合我!

   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

回答

0

你打開了AXFetchAsSregTransform?此外,一些供應商不會給你,除非RP discovery works任何信息在您的網站和/或在您的ClaimsRequest,我並不在你的代碼中看到發佈的隱私政策。

一些供應商只是不提供數據。但MyOpenID.com是應該爲您的現有網站和代碼工作的一個提供商(因爲它沒有上次我列出的額外限制)。您是否針對MyOpenID.com進行過測試?

+0

嗨安德魯,感謝您的指針。我還沒有嘗試過,但我會盡快完成。 – 2010-04-29 05:15:27

+0

嗨安德魯 - 是的,myOpenID來說工作原理完全的代碼(只要你設置了人物角色)。我將着眼於AXFetchAsSregTransform的影響。 – 2010-05-02 07:08:42