0

DotNetOpenAuthを使用します。

だから..私responseは状態を持っている見栄えが良くなっていますAuthenticated

それは結構です。

ユーザープロファイル情報を取得したいのですが、常に取得していNULLます。

これがコードです。

 private ServiceProviderDescription GetServiceDescription()
        {
            string ValidateTokenEndPoint = ConfigurationManager.AppSettings["identityOAuthValidateTokenEndPointUrl"];
            string ValidateAuthorizationHeaderEndPoint = ConfigurationManager.AppSettings["identityOAuthValidateAuthorizationHeaderEndPointUrl"];
            string AccessTokenEndPoint = ConfigurationManager.AppSettings["identityOAuthAccessTokenURL"];
            bool UseVersion10A = Convert.ToBoolean(ConfigurationManager.AppSettings["identityOAuthUseVersion10a"]);
            string RequestTokenStr = ConfigurationManager.AppSettings["identityOAuthRequestTokenURL"];
            string UserAuthStr = ConfigurationManager.AppSettings["identityOAuthAuthorizeUserURL"];
            string AccessTokenStr = ConfigurationManager.AppSettings["identityOAuthAccessTokenURL"];
            string InvalidateTokenStr = ConfigurationManager.AppSettings["identityOAuthRequestInvalidateTokenURL"];

            return new ServiceProviderDescription
            {
                AccessTokenEndpoint = new MessageReceivingEndpoint(AccessTokenStr, HttpDeliveryMethods.PostRequest),
                RequestTokenEndpoint = new MessageReceivingEndpoint(RequestTokenStr, HttpDeliveryMethods.PostRequest),
                UserAuthorizationEndpoint = new MessageReceivingEndpoint(UserAuthStr, HttpDeliveryMethods.PostRequest),
                TamperProtectionElements = new ITamperProtectionChannelBindingElement[] { new HmacSha1SigningBindingElement() },
                ProtocolVersion = DotNetOpenAuth.OAuth.ProtocolVersion.V10a
            };
        }

void GetUserProfile()
{
    var tokenManager = TokenManagerFactory.GetTokenManager(TokenManagerType.InMemoryTokenManager);
    tokenManager.ConsumerKey = ConfigurationManager.AppSettings["identityOAuthConsumerKey"];
    tokenManager.ConsumerSecret = ConfigurationManager.AppSettings["identityOAuthConsumerSecret"];

var serviceDescription = GetServiceDescription();
var consumer = new WebConsumer(serviceDescription, tokenManager);
var result = consumer.ProcessUserAuthorization(response);

if (result  != null) // It is always null
{

}

10 回確認しましたが、ServiceProviderDescription を作成するすべての URL が正しいと確信しています。

どんな手掛かり?

4

1 に答える 1

0

良い

最後に、web.config アプリ キーを確認します

add key="identityOAuthConsumerKey" value="ここに正しいデータを入力してください!!!"
add key="identityOAuthConsumerSecret" value="ここに正しいデータを入力してください!!!"

また、hostsファイルを使用する場合は、正しいサイト名も入力する必要があります

127.0.0.1 site1.host1.com

于 2013-10-11T13:49:48.533 に答える