4

katana プロジェクトをダウンロードし、サンドボックス プロジェクトでクライアント/サーバーを試してみたいと思いました。

OAuthValidateClientAuthenticationContext で問題が発生しました。

public bool TryGetFormCredentials(out string clientId, out string clientSecret)
{
    clientId = Parameters.Get(Constants.Parameters.ClientId);
    if (!String.IsNullOrEmpty(clientId))
    {
        clientSecret = Parameters.Get(Constants.Parameters.ClientSecret);
        ClientId = clientId;
        return true;
    }
    clientId = null;
    clientSecret = null;
    return false;
}

clientSecret が null であるため、以下はクライアントを検証しません。

    private Task ValidateClientAuthentication(OAuthValidateClientAuthenticationContext context)
    {
        string clientId;
        string clientSecret;
        if (context.TryGetBasicCredentials(out clientId, out clientSecret) ||
            context.TryGetFormCredentials(out clientId, out clientSecret))
        {
            if (clientId == "123456" && clientSecret == "abcdef")
            {
                context.Validated();
            }
            else if (context.ClientId == "7890ab" && clientSecret == "7890ab")
            {
                context.Validated();
            }
        }
        return Task.FromResult(0);

    }
4

1 に答える 1

5

投稿に client_secret パラメータにスペースが含まれていないことを確認してください

client_secret[space] will fail.
于 2014-11-05T22:28:29.553 に答える