2010-04-30 64 views

回答

2

我使用DotNetOpenAuth,这是我失踪了......

relyingParty.DiscoveryServices.Insert(0, new DotNetOpenAuth.OpenId.HostMetaDiscoveryService { UseGoogleHostedHostMeta = true, });

通过将HostMetaDiscoveryService第一和允许UseGoogleHostedHostMeta如预期的要求将工作。

结束了这样的事情:

var relyingParty = new OpenIdRelyingParty(); 
relyingParty.DiscoveryServices.Insert(0, new DotNetOpenAuth.OpenId.HostMetaDiscoveryService { UseGoogleHostedHostMeta = true, }); 
var response = relyingParty.GetResponse(); 
if (response == null) 
{ 
    var googleID = "https://www.google.com/accounts/o8/site-xrds?hd=my.domain"; 
    var request = relyingParty.CreateRequest(googleID); 
    request.RedirectToProvider(); 
} 
else 
{ 
    switch (response.Status) 
    { 
     case AuthenticationStatus.Authenticated: 
      break; 

     default: 
      break; 
    } 
}