2010-04-27 32 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