2009-08-21 11 views
0

は、あなたが問題を見てくださいする可能性があります。 "https://me.yahoo.com/" ユーザ名:[email protected] パスワード:偏執SREGヤフーの問題

をあなたは "https://test-id.org/OP/Sreg.aspx"

IDでヤフーSREGをテストします今

response.GetUntrustedE becaseヤフーSREG、 に問題

Googleとこのコードの仕事ではなく、私は3.2.0.9177

が助けをいただき、誠にありがとうございlatiestバージョンを使用しています

<dotNetOpenAuth> 
    <openid> 
     <relyingParty> 
      <security requireSsl="false" ignoreUnsignedExtensions="false" maximumHashBitLength="256" minimumHashBitLength="160" rejectDelegatingIdentifiers="true" rejectUnsolicitedAssertions="false" requireAssociation="false" requireDirectedIdentity="false" /> 
      <behaviors> 
       <add type="DotNetOpenAuth.OpenId.Behaviors.AXFetchAsSregTransform, DotNetOpenAuth" /> 
      </behaviors> 
     </relyingParty> 
    </openid> 
    <messaging> 
     <untrustedWebRequest> 
      <whitelistHosts> 
       <add name="localhost" /> 
      </whitelistHosts> 
     </untrustedWebRequest> 
    </messaging> 
</dotNetOpenAuth> 

:私はfolowingコンフィギュレーションを使用していますヤフー

 var opUrl = LoginCore.GetProviderUrl(provider, openId); 
     var openIdRelyingParty = new OpenIdRelyingParty(null); 
     var response = openIdRelyingParty.GetResponse(); 
     Identifier id; 

     if (response == null) 
     { 
      if (Identifier.TryParse(opUrl, out id)) 
      { 
       try 
       { 
        var claim = new ClaimsRequest(); 
        claim.Email = DemandLevel.Require; 
        claim.FullName = DemandLevel.Request; 
        claim.Gender = DemandLevel.Request; 
        claim.Nickname = DemandLevel.Require; 
        var request = openIdRelyingParty.CreateRequest(opUrl); 

        request.AddExtension(claim); 
        return request.RedirectingResponse.AsActionResult(); 
       } 
       catch (Exception ex) 
       { 
       } 
      } 
      else 
      { 
       Model.Errors.Add(GeneralErrors.Unexpected()); 
       return View("SignupUnTrustedOpenId"); 
      } 
     } 
     else 
     { 
      switch (response.Status) 
      { 
       case AuthenticationStatus.Authenticated: 
        var claimsData = response.GetUntrustedExtension<ClaimsResponse>(); 
        if (claimsData != null) 
        { 
         email = claimsData.Email; 

のためのプロパティのnull値を返しますalwase XTensionで()

ビタリ

+0

bout donetopenidについてはわかりませんが、問題がOpenID自体に関連している場合は、最終的なOpenID応答を投稿した方が役に立ちます。 –

+0

パスワードをマスクする人もいますか? – Ramesh

答えて

0

ヤフーのSREG拡張サポートはcurrenベータ版のみ。 YahooはSREGサポートをホワイトリストに登録されたRPに公開する意向である。 See here.

私は自分のYahooアカウントでtest-id.orgテストを行ったところ、うまくいきました。 sreg拡張子を追加するコードが正常に見えます。だから私は唯一の問題はあなたがまだYahooのホワイトリストに載っていないことだと思う。

関連する問題