0

以下のようにカスタム Open Id クライアントを作成しています。

public class CustomOpenIdClient : OpenIdClient
{
 public CustomOpenIdClient() : base("TestOpenId", "`http://localhost:39167/server.aspx`")

{

}

protected override Dictionary<string, string> GetExtraData(IAuthenticationResponse response)
{
    FetchResponse fetchResponse = response.GetExtension<FetchResponse>();

    if (fetchResponse != null)
    {
        var extraData = new Dictionary<string, string>();
        extraData.Add("email", fetchResponse.GetAttributeValue(WellKnownAttributes.Contact.Email));
        extraData.Add("fullname", fetchResponse.GetAttributeValue(WellKnownAttributes.Name.FullName));
        return extraData;
    }

    return null;
}

protected override void OnBeforeSendingAuthenticationRequest(IAuthenticationRequest request)
{
    var fetchRequest = new FetchRequest();
    fetchRequest.Attributes.AddRequired(WellKnownAttributes.Contact.Email);
    fetchRequest.Attributes.AddRequired(WellKnownAttributes.Name.FullName);
    request.AddExtension(fetchRequest);
}

}`

コードに見られるように、私が使用しようとしてhttp://localhost:39167/いる OpenIdProvider は、DotNetOAuth サンプル、つまり OpenIdWebRingSsoProvider および OpenIdWebRingSsoRelyingParty によって開発されており、RP webconfig で次のように定義されています。

`<appSettings>
    <add key="SsoProviderOPIdentifier" value="http://localhost:39167/"/>
    <add key="SsoProviderOPEndpoint" value="http://localhost:39167/server.aspx"/>
  </appSettings>`

そして、私は自分のウェブサイトに CustomOpenIdClient を登録しています

OAuthWebSecurity.RegisterClient(new CustomOpenIdClient(), "TestOpenId", new Dictionary<string, object>());

認証しようとすると、No OpenId End Point found が表示されます

OAuthWebSecurity.RequestAuthentication(Provider, ReturnUrl)

ローカルホストは、RP の webconfig のホワイトリストで既に定義されています。この No OpenId End point エラーの原因となっている、ここで何が欠けているのか教えてください。

ありがとう、
SB

4

1 に答える 1

0

私はそれを使用してそれを解決することができました

  <system.net>
        <defaultProxy>
            <proxy
              usesystemdefault="true"
              proxyaddress="http://webproxy....net:8080"
              bypassonlocal="true"
      />
        </defaultProxy>
    </system.net>
于 2013-09-25T08:16:59.013 に答える